Веб-сервер: различия между версиями
(Новая страница: «Ставим пакеты: # apt-get install lamp-server phpmyadmin phpmyadmin-apache2-php7 Запускаем службы: Apache: # service httpd2 start #…») |
|||
(не показаны 42 промежуточные версии этого же участника) | |||
Строка 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 | ||
дописать слово Indexes: | дописать слово Indexes: | ||
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] | ||
{{Category navigation|title=Начинающему | |||
==Настройка 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 - адрес, но под разными именами. | |||
Например, DNS-имена: | |||
*salomatin.ru | |||
*ivaniov.ru | |||
посылают на 81.81.81.81, а apache сам решает в какой каталог одного сервера направлять эти запросы. | |||
===Шаг 1: Регистрируем домены на один IP адрес=== | |||
Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то через [[SambaAD_start#GUI_для_управления_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: Разрешаем загружать виртуальные сайты=== | |||
В файле {{path|/etc/httpd2/conf/sites-start.d/000-default.conf}}: | |||
ports_all=yes | |||
default=yes | |||
vhosts=no | |||
Необходимо изменить последнюю строку: | |||
vhosts=yes | |||
Для применения изменений запустить: | |||
# a2chkconfig | |||
===Шаг 3: Прописываем виртуальные хосты=== | |||
В файле {{path|/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: Создаем домашние каталоги виртуальных хостов=== | |||
В {{path|/var/www/vhosts}} создаем три каталога host1; host2; host3, в которых размещаем разные тестовые веб-страницы. | |||
Заходим со своего рабочего настольного компьютера | |||
*http://host1 | |||
*http://host2 | |||
*http://host3 | |||
и в каждом видим свою тестовую страницу. | |||
==Архивирование, аварийное восстановление и перенос сайтов на PHP== | |||
На примере Joomla | |||
===Архивирование=== | |||
====Шаг №1: Останавливаем работу сайта==== | |||
# systemctl stop httpd2 | |||
====Шаг №2: Создаем архивы ( на примере Joomla)==== | |||
Заходим в каталог {{path|/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==== | |||
Размещаем архив {{path|joomla1.tar.gz}} в каталоге {{path|/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 | |||
Проверяем работу сайта. | |||
Сайт восстановлен. | |||
==Установка сайтов== | |||
{{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] | |||
{{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