Настройка VPS сервера (Debian 7, LAMP, WordPress, SSL)
Для настройки сервера под сайт medmost.kz был приобретен сервер KVM-1 на который была установлена OS Debian 7 в минимальной конфигурации. Данная инструкция описывает настройка сервер (установка LAMP Linux Apache MySQL PHP). Создание конфигурационных файлов для сайта на CMS WordPress и подключение заранее купленного SSL. Естественно есть куда более простые способы разворачивания сайта и подключения SSL сертификата, например на Хостинге, но мы легких путей не ищем.
Установка LAMP
Как всегда, сначала обновляем репозиторий
apt-get update
Устанавливаем Apache
apt-get install apache2
Устанавливаем MySQL
apt-get install mysql-server
Выполняем сценарий по желанию, там принципе все написано.
mysql_secure_installation
Устанавливаем PHP5
apt-get install php5 php-pear php5-mysql
Рестартим Apache
service apache2 restart
Все с LAMP закончили, теперь создаем нужные конфиги. Везде будет указан сайт mrdmost.kz, Вам нужно подставить свой сайт если будете пользоваться этой инструкцией.
Настройка Apache
Создаем конфиг
nano /etc/apache2/sites-available/medmost.kz
Со седеющими значениями, если нет SSL то блок <VirtualHost *:443> создавать не нужно.
<VirtualHost *:80>
ServerAlias medmost.kz www.medmost.kz
DocumentRoot /var/www/medmost.kz
DirectoryIndex index.php
<Directory var/www/medmost.kz/>
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:443>
NameVirtualHost *:443
ServerName medmost.kz
DocumentRoot «/var/www/medmost.kz»
<Directory «/var/www/medmost.kz»>
AllowOverride All
DirectoryIndex index.php
</Directory>
SSLEngine on
SSLCertificateFile /etc/ssl/certs/medmost.crt
SSLCertificateKeyFile /etc/ssl/private/medmost.key
</VirtualHost>
Внимание!! Если не создать запись NameVirtualHost *:443 то после рестарта Apache, будет выходить сообщение: default_ VirtualHost overlap on port 443, the first has precedence
Активируем сайт
a2ensite medmost.kz
Активируем mod_ssl
a2enmod ssl
service apache2 reload
Создаем директорию
mkdir /var/www/medmost.kz
Назначаем привилегии для учетной записи Apache
chown -R www-data:www-data /var/www/medmost.kz
chmod -R 755 /var/www/medmost.kz
Проверяем
ls -la /var/www/medmost.kz
Создание базы данных для WordPress
Можно поставить phpmyadmin, но это больше движений, чем просто создать базу через консоль.
Все команды вставлен подряд, там запутаться трудно, для чего каждая команда.
mysql -u root -p
CREATE DATABASE dbmedmost;
Query OK, 1 row affected (0.00 sec)
CREATE USER bduser@localhost;
Query OK, 0 rows affected (0.00 sec)
SET PASSWORD FOR bduser@localhost= PASSWORD(«SUPERpassword»);
Query OK, 0 rows affected (0.00 sec)
GRANT ALL PRIVILEGES ON dbmedmost.* TO bduser@localhost IDENTIFIED BY ‘SUPERpassword’;
Query OK, 0 rows affected (0.00 sec)
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
exit
Подключаемся по FTP и закидываем файлы WordPress и SSL сертификат
Сюда кидаем wordpress, можно сразу распакованный, что бы не распаковывать в консоли.
/var/www/medmost.kz
Суда кидаем сертификат. Как его сделать описано в этой инструкции (первые два пункта).
etc/ssl/certs/ файл называется так же как в конфиге выше, medmost.crt
Сюда кидаем ключ
/etc/ssl/private/
Запускаем установку WordPress
Рестартим Apache контрольно и заходим на ваш сайт в браузере по нужному URL.
Запустится установщик WordPress, прописываем доступ к базе данных, с данными придуманными выше. Создаем учетку администратора CMS. Ну и все, сайт готов. он будет доступен и по http и https. Для того что бы настроить принудительный редирект с http на https, нужно изменить файл .htaccess, который появится послу установки WordPress.
В него нужно добавить следующие значения:
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
Внимание!! Если после этого ваш сайт в браузере будет выдавать следующую ошибку.
Которая в логах Apache выглядит так:
.htaccess: Invalid command ‘RewriteEngine’, perhaps misspelled or defined by a module not included in the server configuration
То нужно!! Просто активировать rewrite мод.
sudo a2enmod rewrite
service apache2 restart
После этого ваш .htaccess будет корректно отрабатывать редирект.
Все, настройка сайта закончена.