четверг, 19 июня 2014 г.

OS X: настраиваем веб севрер Apache через терминал

Итак, потребовалось перенести один из сайтов на другой сервер OS X Server Mountain Lion. Наш сайт пусть называется http://site.ru. Сперва создадим на новом сервере папку для файлов сайта и перенесем их в нее (я переносил с помощью scp, но тут вариантов много).

# mkdir /Library/Server/Web/Data/Sites/site.ru
# scp -r user@xxx.xxx.xxx.xxx:/var/www/site.ru/ /Library/Server/Web/Data/Sites/site.ru/

В команде scp, вместо user - указываете имя своего пользователя на удаленном сервере, вместо xxx.xxx.xxx.xxx - указываете или имя хоста, или его Ip-адрес, /var/www/site.ru/ это абсолютное расположение файлов на старом сервере.

После копирования файлов, нам осталось сервер настроить. Для этого создадим файл настроек для нового сайта. Этот файл должен размещаться в каталоге /Library/Server/Web/Config/apache2/sites/.

#vi /Library/Server/Web/Config/apache2/sites/0000_any_80_site.ru.conf

Содержимое файла это обычные настройки VirtualHost сервера Apache22, поэтому если вы уже настраивали Apache вы без труда внесете нужные для себя параметры. Мой файл смотрите ниже

#cat /Library/Server/Web/Config/apache2/sites/0000_any_80_site.ru.conf
<VirtualHost *:80>
        ServerName site.ru
        ServerAdmin admin@site.ru
        DocumentRoot "/Library/Server/Web/Data/Sites/site.ru"
        DirectoryIndex index.html
        CustomLog /var/log/apache2/access_log combinedvhost
        ErrorLog /var/log/apache2/error_log

        <IfModule mod_ssl.c>
                SSLEngine Off
                SSLCipherSuite "ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM"
                SSLProtocol -ALL +SSLv3 +TLSv1
                SSLProxyEngine On
                SSLProxyProtocol -ALL +SSLv3 +TLSv1
        </IfModule>

        <Directory "/Library/Server/Web/Data/Sites/site.ru">
                Options All -Indexes +ExecCGI +Includes +MultiViews
                AllowOverride All
                <IfModule mod_dav.c>
                        DAV Off
                </IfModule>
                <IfDefine !WEBSERVICE_ON>
                        Deny from all
                        ErrorDocument 403 /customerror/websitesoff403.html
                </IfDefine>
        </Directory>

</VirtualHost>

Теперь перезапускайте службу, меняйте A-запись на DNS сервере и ждите когда весь трафик пойдет на новый сервер.

# serveradmin stop web
# serveradmin start web

PS не забудьте изменить пути к файлам в коде сайта и параметры подключения к базе данных, если это необходимо ;-)

Комментариев нет:

Отправить комментарий