Веб-сервер: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 34: Строка 34:
  # 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
=====Виртуальный хостинг=====
Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами.
Например,  DNS-имена:
*salomatin.ru
*ivaniov.ru
посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы.
'''Шаг 1: Регистрируем домены на один IP адрес'''
Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на [[Alterator-bind|Bind]]. Если домен на Samba, то ....
Потом прописываем на сервере адреса в hosts:
# pluma /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, в которых размещаем разные тестовые веб-страницы.
Заходим со своего рабочего настольного компьютера
*http://host1
*http://host2
*http://host3
и в каждом видим свою тестовую страницу.
=====Архивирование, аварийное восстановление и перенос сайтов на PHP=====
На примере Joomla
'''Шаг №1:  Останавливаем работу сайта'''
# service httpd2 stop
'''Шаг №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:  Запускаем работу сайта'''
# service httpd2 start
Копируем  в надежное место
*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
Проверяем работу сайта.
Сайт восстановлен.
Источник: [https://forum.altlinux.org/index.php?topic=29114.0 forum.altlinux.org]
{{Category navigation|title=Начинающему сисадмину|category=Начинающему сисадмину|sortkey={{SUBPAGENAME}}}}
{{Category navigation|title=Начинающему сисадмину|category=Начинающему сисадмину|sortkey={{SUBPAGENAME}}}}

Версия от 11:24, 26 марта 2021

Ставим пакеты:

# apt-get install lamp-server phpmyadmin phpmyadmin-apache2-php7

Запускаем службы:

Apache:

# service httpd2 start
# service httpd2 enable

MySQL:

# service mysqld start
# service mysqld enable

Страница PhpMyAdmin:

Настройка Apache2

Открываем от имени суперпользователя:

# pluma /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

Виртуальный хостинг

Виртуальный хостинг - это когда веб-запросы приходят на один IP - адрес, но под разными именами.

Например, DNS-имена:

  • salomatin.ru
  • ivaniov.ru

посылают на 81.81.81.81., а apache сам решает в какой каталог одного сервера направлять эти запросы.

Шаг 1: Регистрируем домены на один IP адрес

Для внешнего сайта необходимо зарегистрировать домен на регистраторе, для внутреннего на Bind. Если домен на Samba, то ....

Потом прописываем на сервере адреса в hosts:

# pluma /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: Останавливаем работу сайта

# service httpd2 stop

Шаг №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: Запускаем работу сайта

# service httpd2 start

Копируем в надежное место

  • 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/ и распаковываем его командой

  1. 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

Проверяем работу сайта.

Сайт восстановлен.

Источник: forum.altlinux.org