Веб-сервер: различия между версиями
(не показано 8 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
{{Note|Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.}} | |||
Ставим пакеты: | Ставим пакеты: | ||
# apt-get install lamp-server | # apt-get install lamp-server | ||
Строка 4: | Строка 5: | ||
Apache: | Apache: | ||
# | # systemctl enable --now httpd2 | ||
MySQL: | MySQL: | ||
# | # systemctl enable --now mysqld | ||
=====Настройка Apache2===== | =====Настройка Apache2===== | ||
Открываем от имени суперпользователя: | Открываем от имени суперпользователя: | ||
# | # mcedit /etc/httpd2/conf/include/Directory_html_default.conf | ||
Необходимо в строке | Необходимо в строке | ||
Options Includes FollowSymLinks MultiViews | Options Includes FollowSymLinks MultiViews | ||
Строка 34: | Строка 33: | ||
=====Настройка PhpmyAdmin===== | =====Настройка PhpmyAdmin===== | ||
Ставим пакеты: | Ставим пакеты: | ||
# apt-get install | # apt-get install phpMyAdmin phpMyAdmin-apache2-php8.1 | ||
Страница PhpMyAdmin: | Страница PhpMyAdmin: | ||
*http:// | *http://127.0.0.1/phpMyAdmin - регистр соблюдать! | ||
Под root пускать не будет, создадим другого пользователя. | Под root пускать не будет, создадим другого пользователя. | ||
Строка 48: | Строка 47: | ||
=====Виртуальный хостинг===== | =====Виртуальный хостинг===== | ||
{{Note|Если вы хотите на одном сервере сделать доступ по одному адресу на один сайт или IP, или на подразделы IP/site, то пропустите этот шаг}} | |||
Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами. | ||
Строка 61: | Строка 61: | ||
Потом прописываем на сервере адреса в hosts: | Потом прописываем на сервере адреса в hosts: | ||
# | # mcedit /etc/hosts | ||
192.168.0.1 host1 | 192.168.0.1 host1 | ||
Строка 136: | Строка 136: | ||
'''Шаг №1: Останавливаем работу сайта''' | '''Шаг №1: Останавливаем работу сайта''' | ||
# | # systemctl stop httpd2 | ||
'''Шаг №2: Создаем архивы ( на примере Joomla)''' | '''Шаг №2: Создаем архивы ( на примере Joomla)''' | ||
Строка 150: | Строка 150: | ||
'''Шаг №3: Запускаем работу сайта''' | '''Шаг №3: Запускаем работу сайта''' | ||
# | # systemctl start httpd2 | ||
Копируем в надежное место | Копируем в надежное место | ||
Строка 192: | Строка 192: | ||
=====Установка сайтов===== | =====Установка сайтов===== | ||
{{Note|Если вы хотите на одном сервере только один сайт, то располагайте сайт прямо в /var/www/html, без дополнительной папки}} | |||
======MediaWiki====== | ======MediaWiki====== | ||
{{Note|Я знаю, что можно устновить из пакетов, но хочу описать ручную установку}} | {{Note|Я знаю, что можно устновить из пакетов, но хочу описать ручную установку}} | ||
Строка 205: | Строка 206: | ||
# chmod -R u+X /var/www/html/wiki/ | # chmod -R u+X /var/www/html/wiki/ | ||
5. Через PhpMyAdmin добавляем БД<br> | 5. Через PhpMyAdmin добавляем БД<br> | ||
6. Идем localhost/wiki | 6. Идем localhost/wiki<br> | ||
7. Настраиваем/устанавливаем mediawiki<br> | 7. Настраиваем/устанавливаем mediawiki<br> | ||
8. Кидаем файл с настройками в /var/www/html/wiki/ | 8. Кидаем файл с настройками в /var/www/html/wiki/ | ||
Строка 211: | Строка 212: | ||
Сайт будет доступен по IP/wiki. | Сайт будет доступен по IP/wiki. | ||
Если хотите доступ по IP кидайте заранее в | Если хотите доступ по IP кидайте заранее в папку www. | ||
======Почта====== | ======Почта====== | ||
1. Качаем<br> | 1. Качаем<br> |
Текущая версия от 22:02, 4 апреля 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