Веб-сервер: различия между версиями
Нет описания правки |
|||
(не показано 40 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}} | |||
Ставим пакеты: | Ставим пакеты: | ||
# apt-get install lamp-server | # apt-get install lamp-server | ||
Запускаем службы: | Запускаем службы: | ||
Apache: | Apache: | ||
# | # systemctl enable --now httpd2 | ||
MySQL: | MySQL: | ||
# | # systemctl enable --now mysqld | ||
==Настройка Apache2== | |||
Открываем от имени суперпользователя: | Открываем от имени суперпользователя: | ||
# | # mcedit /etc/httpd2/conf/include/Directory_html_default.conf | ||
Необходимо в строке | Необходимо в строке | ||
Options Includes FollowSymLinks MultiViews | Options Includes FollowSymLinks MultiViews | ||
Строка 21: | Строка 17: | ||
Options Indexes Includes FollowSymLinks MultiViews | Options Indexes Includes FollowSymLinks MultiViews | ||
==Где хранится сайт?== | |||
Открываем в редакторе от суперпользователя файл | Открываем в редакторе от суперпользователя файл {{path|/etc/httpd2/conf/sites-available/default.conf}}. | ||
Ищем строку | Ищем строку | ||
DocumentRoot "/var/www/html/" | DocumentRoot "/var/www/html/" | ||
Либо | Либо помещаем сайт туда, либо меняем путь на свой. | ||
==Сайты на движке PHP== | |||
Например, сайт лежит в каталоге /var/www/html/PhpBB3. Для него нужно дать доступ серверу Apache. | Например, сайт лежит в каталоге {{path|/var/www/html/PhpBB3}}. Для него нужно дать доступ серверу Apache. | ||
# chown -R apache2:apache2 /var/www/html/phpBB3 | # chown -R apache2:apache2 /var/www/html/phpBB3 | ||
# chmod -R 660 /var/www/html/phpBB3 | # chmod -R 660 /var/www/html/phpBB3 | ||
# chmod -R u+X /var/www/html/phpBB3 | # chmod -R u+X /var/www/html/phpBB3 | ||
Сайт будет доступен по ссылке http://IP/phpBB3/index.php | Сайт будет доступен по ссылке [http://IP/phpBB3/index.php 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'''. | |||
==Виртуальный хостинг== | |||
{{Note|Если вы хотите на одном сервере сделать доступ по одному адресу на один сайт или IP, или на подразделы IP/site, то пропустите этот шаг}} | |||
Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | ||
Строка 40: | Строка 53: | ||
*salomatin.ru | *salomatin.ru | ||
*ivaniov.ru | *ivaniov.ru | ||
посылают на 81.81.81.81 | посылают на 81.81.81.81, а apache сам решает в какой каталог одного сервера направлять эти запросы. | ||
===Шаг 1: Регистрируем домены на один IP адрес=== | |||
Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то | Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то через [[SambaAD_start#GUI_для_управления_Samba|Samba-tools]]. | ||
Потом прописываем на сервере адреса в hosts: | Потом прописываем на сервере адреса в hosts: | ||
# | # mcedit /etc/hosts | ||
192.168.0.1 host1 | 192.168.0.1 host1 | ||
Строка 58: | Строка 71: | ||
Тестируем со своего рабочего настольного компьютера от имени простого пользователя: | Тестируем со своего рабочего настольного компьютера от имени простого пользователя: | ||
ping host1 | $ ping host1 | ||
ping host2 | $ ping host2 | ||
ping host3 | $ ping host3 | ||
Должны попадать на IP сервера. | Должны попадать на IP сервера. | ||
===Шаг 2: Разрешаем загружать виртуальные сайты=== | |||
В файле /etc/httpd2/conf/sites-start.d/000-default.conf | В файле {{path|/etc/httpd2/conf/sites-start.d/000-default.conf}}: | ||
ports_all=yes | ports_all=yes | ||
default=yes | default=yes | ||
Строка 77: | Строка 90: | ||
# a2chkconfig | # a2chkconfig | ||
===Шаг 3: Прописываем виртуальные хосты=== | |||
В файле /etc/httpd2/conf/sites-available/vhosts.conf дописываем | В файле {{path|/etc/httpd2/conf/sites-available/vhosts.conf}} дописываем | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
Строка 108: | Строка 121: | ||
</VirtualHost> | </VirtualHost> | ||
===Шаг 4: Создаем домашние каталоги виртуальных хостов=== | |||
В /var/www/vhosts создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. | В {{path|/var/www/vhosts}} создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. | ||
Заходим со своего рабочего настольного компьютера | Заходим со своего рабочего настольного компьютера | ||
Строка 118: | Строка 131: | ||
и в каждом видим свою тестовую страницу. | и в каждом видим свою тестовую страницу. | ||
==Архивирование, аварийное восстановление и перенос сайтов на PHP== | |||
На примере Joomla | На примере Joomla | ||
===Архивирование=== | |||
====Шаг №1: Останавливаем работу сайта==== | |||
# | # systemctl stop httpd2 | ||
====Шаг №2: Создаем архивы ( на примере Joomla)==== | |||
Заходим в каталог /var/www/html/ | Заходим в каталог {{path|/var/www/html/}} | ||
# cd /var/www/html/ | # cd /var/www/html/ | ||
# tar -cvf - joomla | gzip -c > joomla1.tar.gz | # tar -cvf - joomla | gzip -c > joomla1.tar.gz | ||
Строка 136: | Строка 150: | ||
Спросит пароль рута или новый, если поменяли | Спросит пароль рута или новый, если поменяли | ||
====Шаг №3: Запускаем работу сайта==== | |||
# | # systemctl start httpd2 | ||
Копируем в надежное место | Копируем в надежное место | ||
Строка 143: | Строка 157: | ||
*joomla1.sql | *joomla1.sql | ||
Восстановление | ===Восстановление=== | ||
====Шаг №1: Восстанавливаем базу данных==== | |||
Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую: | Чтобы загрузить базу, нужно сначала создать пустую, а для надёжности предварительно удалить старую: | ||
Строка 162: | Строка 176: | ||
Спросит пароль рута. | Спросит пароль рута. | ||
====Шаг №2: Восстанавливаем каталог Joomla==== | |||
Размещаем архив joomla1.tar.gz в каталоге /var/www/html/ и распаковываем его командой | Размещаем архив {{path|joomla1.tar.gz}} в каталоге {{path|/var/www/html/}} и распаковываем его командой | ||
# tar -zxvf joomla1.tar.gz | # tar -zxvf joomla1.tar.gz | ||
Удаляем из каталога архив, проверяем права, если что подправляем. | Удаляем из каталога архив, проверяем права, если что подправляем. | ||
Строка 178: | Строка 192: | ||
Сайт восстановлен. | Сайт восстановлен. | ||
==Установка сайтов== | |||
{{Note|Если вы хотите на одном сервере только один сайт, то располагайте сайт прямо в /var/www/html, без дополнительной папки}} | |||
===MediaWiki=== | |||
{{Note|Я знаю, что можно устновить из пакетов, но хочу описать ручную установку}} | |||
{{Note|Чтобы управлять файлами с сайтами через файловый менеджер, можно открыть mc от root: su-;mc}} | |||
1. Ставим расширение: | |||
# apt-get install php7-fileinfo | |||
2. Скачиваем архив с mediawiki: | |||
*https://www.mediawiki.org/wiki/Download/ru | |||
3. Распаковываем в {{path|/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. Идем [http://localhost/wiki http://localhost/wiki] | |||
7. Настраиваем/устанавливаем mediawiki | |||
8. Кидаем файл с настройками в {{path|/var/www/html/wiki/}} | |||
Сайт будет доступен по [http://IP/wiki http://IP/wiki]. | |||
Если хотите доступ по IP кидайте заранее в папку www. | |||
===Почта=== | |||
1. Качаем | |||
https://afterlogic.org/webmail-lite | |||
2. Распаковываем в {{path|/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. Идем http://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/ - после скачивания и добавления не забудьте переназначить права | |||
--------- | |||
Источник: [https://forum.altlinux.org/index.php?topic=29114.0 forum.altlinux.org] | Источник: [https://forum.altlinux.org/index.php?topic=29114.0 forum.altlinux.org] | ||
{{Category navigation|title=Начинающему | {{Category navigation|title=Начинающему системному администратору|category=Начинающему системному администратору|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 20:32, 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. Идем http://localhost/wiki
7. Настраиваем/устанавливаем mediawiki
8. Кидаем файл с настройками в /var/www/html/wiki/
Сайт будет доступен по http://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. Идем http://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