Настройка VPS сервера (Debian 7, LAMP, Wordpress, SSL)

Настройка 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 будет корректно отрабатывать редирект.

Все, настройка сайта закончена.

Вам может также понравиться...