Веб-сервер: различия между версиями
Нет описания правки |
|||
Строка 9: | Строка 9: | ||
# systemctl enable --now mysqld | # systemctl enable --now mysqld | ||
==Настройка Apache2== | |||
Открываем от имени суперпользователя: | Открываем от имени суперпользователя: | ||
# mcedit /etc/httpd2/conf/include/Directory_html_default.conf | # mcedit /etc/httpd2/conf/include/Directory_html_default.conf | ||
Строка 17: | Строка 17: | ||
Options Indexes Includes FollowSymLinks MultiViews | Options Indexes Includes FollowSymLinks MultiViews | ||
==Где хранится сайт?== | |||
Открываем в редакторе от суперпользователя файл '''/etc/httpd2/conf/sites-available/default.conf'''. | Открываем в редакторе от суперпользователя файл '''/etc/httpd2/conf/sites-available/default.conf'''. | ||
Строка 24: | Строка 24: | ||
Либо кладем сайт туда, либо меняем путь на свой. | Либо кладем сайт туда, либо меняем путь на свой. | ||
==Сайты на движке PHP== | |||
Например, сайт лежит в каталоге /var/www/html/PhpBB3. Для него нужно дать доступ серверу Apache. | Например, сайт лежит в каталоге /var/www/html/PhpBB3. Для него нужно дать доступ серверу Apache. | ||
# chown -R apache2:apache2 /var/www/html/phpBB3 | # chown -R apache2:apache2 /var/www/html/phpBB3 | ||
Строка 31: | Строка 31: | ||
Сайт будет доступен по ссылке http://IP/phpBB3/index.php | Сайт будет доступен по ссылке http://IP/phpBB3/index.php | ||
==Настройка PhpmyAdmin== | |||
Ставим пакеты: | Ставим пакеты: | ||
# apt-get install phpMyAdmin phpMyAdmin-apache2-php8.1 | # apt-get install phpMyAdmin phpMyAdmin-apache2-php8.1 | ||
Строка 46: | Строка 46: | ||
Заходите под свежесозданным пользователем '''phpmyadmin'''. | Заходите под свежесозданным пользователем '''phpmyadmin'''. | ||
==Виртуальный хостинг== | |||
{{Note|Если вы хотите на одном сервере сделать доступ по одному адресу на один сайт или IP, или на подразделы IP/site, то пропустите этот шаг}} | {{Note|Если вы хотите на одном сервере сделать доступ по одному адресу на один сайт или IP, или на подразделы IP/site, то пропустите этот шаг}} | ||
Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | ||
Строка 55: | Строка 55: | ||
посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы. | посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы. | ||
===Шаг 1: Регистрируем домены на один IP адрес=== | |||
Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то через [[SambaAD_start#GUI_для_управления_Samba|Samba-tools]]. | Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то через [[SambaAD_start#GUI_для_управления_Samba|Samba-tools]]. | ||
Строка 77: | Строка 77: | ||
Должны попадать на IP сервера. | Должны попадать на IP сервера. | ||
===Шаг 2: Разрешаем загружать виртуальные сайты=== | |||
В файле /etc/httpd2/conf/sites-start.d/000-default.conf | В файле /etc/httpd2/conf/sites-start.d/000-default.conf | ||
Строка 90: | Строка 90: | ||
# a2chkconfig | # a2chkconfig | ||
===Шаг 3: Прописываем виртуальные хосты=== | |||
В файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем | В файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем | ||
Строка 121: | Строка 121: | ||
</VirtualHost> | </VirtualHost> | ||
===Шаг 4: Создаем домашние каталоги виртуальных хостов=== | |||
В /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. | В /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. | ||
Строка 131: | Строка 131: | ||
и в каждом видим свою тестовую страницу. | и в каждом видим свою тестовую страницу. | ||
==Архивирование, аварийное восстановление и перенос сайтов на PHP== | |||
На примере Joomla | На примере Joomla | ||
===Архивирование=== | |||
====Шаг №1: Останавливаем работу сайта==== | |||
# systemctl stop httpd2 | # systemctl stop httpd2 | ||
====Шаг №2: Создаем архивы ( на примере Joomla)==== | |||
Заходим в каталог /var/www/html/ | Заходим в каталог /var/www/html/ | ||
Строка 149: | Строка 150: | ||
Спросит пароль рута или новый, если поменяли | Спросит пароль рута или новый, если поменяли | ||
====Шаг №3: Запускаем работу сайта==== | |||
# systemctl start httpd2 | # systemctl start httpd2 | ||
Строка 156: | Строка 157: | ||
*joomla1.sql | *joomla1.sql | ||
Восстановление | ===Восстановление=== | ||
====Шаг №1: Восстанавливаем базу данных==== | |||
Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую: | Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую: | ||
Строка 175: | Строка 176: | ||
Спросит пароль рута. | Спросит пароль рута. | ||
====Шаг №2: Восстанавливаем каталог Joomla==== | |||
Размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой | Размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой | ||
Строка 191: | Строка 192: | ||
Сайт восстановлен. | Сайт восстановлен. | ||
==Установка сайтов== | |||
{{Note|Если вы хотите на одном сервере только один сайт, то располагайте сайт прямо в /var/www/html, без дополнительной папки}} | {{Note|Если вы хотите на одном сервере только один сайт, то располагайте сайт прямо в /var/www/html, без дополнительной папки}} | ||
===MediaWiki=== | |||
{{Note|Я знаю, что можно устновить из пакетов, но хочу описать ручную установку}} | {{Note|Я знаю, что можно устновить из пакетов, но хочу описать ручную установку}} | ||
{{Note|Чтобы управлять файлами с сайтами через GUI, можно открыть caja от root: su-;caja}} | {{Note|Чтобы управлять файлами с сайтами через GUI, можно открыть caja от root: su-;caja}} | ||
Строка 214: | Строка 215: | ||
Если хотите доступ по IP кидайте заранее в папку www. | Если хотите доступ по IP кидайте заранее в папку www. | ||
===Почта=== | |||
1. Качаем<br> | 1. Качаем<br> | ||
https://afterlogic.org/webmail-lite<br> | https://afterlogic.org/webmail-lite<br> | ||
Строка 225: | Строка 226: | ||
5. Входим (логин superadmin, пароль пустой). Настраиваем.<br> | 5. Входим (логин superadmin, пароль пустой). Настраиваем.<br> | ||
6. В PhpMyAdmin создаем БД | 6. В PhpMyAdmin создаем БД | ||
===Helpdesk=== | |||
1. Качаем (v3)<br> | 1. Качаем (v3)<br> | ||
https://www.hesk.com/download.php<br> | https://www.hesk.com/download.php<br> |
Версия от 20:19, 3 декабря 2024
Ставим пакеты:
# apt-get install lamp-server
Запускаем службы:
Apache:
# systemctl enable --now httpd2
MySQL:
# systemctl enable --now mysqld
Настройка Apache2
Открываем от имени суперпользователя:
# mcedit /etc/httpd2/conf/include/Directory_html_default.conf
Необходимо в строке
Options Includes FollowSymLinks MultiViews
дописать слово Indexes:
Options Indexes Includes FollowSymLinks MultiViews
Где хранится сайт?
Открываем в редакторе от суперпользователя файл /etc/httpd2/conf/sites-available/default.conf.
Ищем строку
DocumentRoot "/var/www/html/"
Либо кладем сайт туда, либо меняем путь на свой.
Сайты на движке PHP
Например, сайт лежит в каталоге /var/www/html/PhpBB3. Для него нужно дать доступ серверу Apache.
# chown -R apache2:apache2 /var/www/html/phpBB3 # chmod -R 660 /var/www/html/phpBB3 # chmod -R u+X /var/www/html/phpBB3
Сайт будет доступен по ссылке http://IP/phpBB3/index.php
Настройка PhpmyAdmin
Ставим пакеты:
# apt-get install phpMyAdmin phpMyAdmin-apache2-php8.1
Страница PhpMyAdmin:
- http://127.0.0.1/phpMyAdmin - регистр соблюдать!
Под root пускать не будет, создадим другого пользователя.
# mysql # MariaDB [mysql]> CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'пароль'; # MariaDB [mysql]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION; # MariaDB [mysql]> FLUSH PRIVILEGES;
Заходите под свежесозданным пользователем phpmyadmin.
Виртуальный хостинг
Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами.
Например, DNS-имена:
- salomatin.ru
- ivaniov.ru
посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы.
Шаг 1: Регистрируем домены на один IP адрес
Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на Bind. Если домен на Samba, то через Samba-tools.
Потом прописываем на сервере адреса в hosts:
# mcedit /etc/hosts
192.168.0.1 host1 192.168.0.1 host2 192.168.0.1 host3
Выполняем:
/etc/chroot.d/resolv.all
Тестируем со своего рабочего настольного компьютера от имени простого пользователя: ping host1 ping host2 ping host3
Должны попадать на IP сервера.
Шаг 2: Разрешаем загружать виртуальные сайты
В файле /etc/httpd2/conf/sites-start.d/000-default.conf
ports_all=yes default=yes vhosts=no
Необходимо изменить последнюю строку:
vhosts=yes
Для применения изменений запустить:
# a2chkconfig
Шаг 3: Прописываем виртуальные хосты
В файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем
<VirtualHost *:80> #ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/vhosts/host1 ServerName host1 #ServerAlias http://www.host1 ErrorLog /var/log/httpd2/host1-error_log CustomLog /var/log/httpd2/host1-access_log common </VirtualHost> # <VirtualHost *:80> #ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/vhosts/host2 ServerName host2 #ServerAlias http://www.host2 ErrorLog /var/log/httpd2/host2-error_log CustomLog /var/log/httpd2/host2-access_log common </VirtualHost> # <VirtualHost *:80> #ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/vhosts/host3 ServerName host3 #ServerAlias http://www.host3 ErrorLog /var/log/httpd2/host3-error_log CustomLog /var/log/httpd2/host3-access_log common </VirtualHost>
Шаг 4: Создаем домашние каталоги виртуальных хостов
В /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы.
Заходим со своего рабочего настольного компьютера
и в каждом видим свою тестовую страницу.
Архивирование, аварийное восстановление и перенос сайтов на PHP
На примере Joomla
Архивирование
Шаг №1: Останавливаем работу сайта
# systemctl stop httpd2
Шаг №2: Создаем архивы ( на примере Joomla)
Заходим в каталог /var/www/html/
# cd /var/www/html/ # tar -cvf - joomla | gzip -c > joomla1.tar.gz
Создаем архив базы данных. Выгрузить базу MySQL можно командой:
# mysqldump -u root -p vova_joomla > joomla1.sql
Спросит пароль рута или новый, если поменяли
Шаг №3: Запускаем работу сайта
# systemctl start httpd2
Копируем в надежное место
- joomla1.tar.gz
- joomla1.sql
Восстановление
Шаг №1: Восстанавливаем базу данных
Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую:
# mysql -u root -p
MySQL спросит пароль рута...
mysql> drop database if exists vova_joomla; mysql> create database vova_joomla; mysql> quit
...а затем в неё загрузить данные:
# mysql -u root -p vova_joomla < joomla1.sql
Спросит пароль рута.
Шаг №2: Восстанавливаем каталог Joomla
Размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой
# tar -zxvf joomla1.tar.gz
Удаляем из каталога архив, проверяем права, если что подправляем.
# chown -R apache2:apache2 /var/www/html/joomla # chmod -R 660 /var/www/html/joomla # chmod -R u+X /var/www/html/joomla
Проверяем работу сайта.
Сайт восстановлен.
Установка сайтов
MediaWiki
1. Ставим расширение:
# apt-get install php7-fileinfo
2. Скачиваем архив с mediawiki:
3. Распаковываем в /var/www/html/wiki/
4. Назначаем права
# chown -R apache2:apache2 /var/www/html/wiki/ # chmod -R 660 /var/www/html/wiki/ # chmod -R u+X /var/www/html/wiki/
5. Через PhpMyAdmin добавляем БД
6. Идем localhost/wiki
7. Настраиваем/устанавливаем mediawiki
8. Кидаем файл с настройками в /var/www/html/wiki/
Сайт будет доступен по IP/wiki.
Если хотите доступ по IP кидайте заранее в папку www.
Почта
1. Качаем
https://afterlogic.org/webmail-lite
2. Распаковываем в /var/www/html/mail/
3. Назначаем права
# chown -R apache2:apache2 /var/www/html/mail/ # chmod -R 660 /var/www/html/mail/ # chmod -R u+X /var/www/html/mail/
4. Идем localhost/mail
5. Входим (логин superadmin, пароль пустой). Настраиваем.
6. В PhpMyAdmin создаем БД
Helpdesk
1. Качаем (v3)
https://www.hesk.com/download.php
2. Распаковываем в /var/www/html/helpdesk/
3. Назначаем права
# chown -R apache2:apache2 /var/www/html/helpdesk/ # chmod -R 660 /var/www/html/helpdesk/ # chmod -R u+X /var/www/html/helpdesk/
4. Идем localhost/helpdesk/install
5. Устанавливаем
6. Удалаям папку localhost/helpdesk/install
7. Русский язык - https://www.hesk.com/language/ - после скачивания и добавления не забудьте переназначить права
Источник: forum.altlinux.org