Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

website_hosting_lite

Website Hosting Lite

Корпоративный хостинг на основе: Ubuntu 16.04 LTS, Apache 2 + Let’s Encrypt, SFTP(ProFTPD), MariaDB.

  • Каждый сайт будет находиться в своей директории в /var/www и доступен только по протоколу HTTPS.
mkdir -p /var/www/mysite.com/public
mkdir /var/www/mysite.com/logs
mkdir /var/www/mysite.com/backup

Файлы сайта будут лежать в public, а логи — в logs.

  • Настраиваем виртуальный хост HTTP протокола. С него будет только редирект на HTTPS. Строчки для RewriteEngine допишет автоматически certbot при установке сертификатов. Включите хост.
<VirtualHost _default_:80>
 
ServerAdmin webmaster@mysite.com
ServerName mysite.com
ServerAlias www.mysite.com
 
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.mysite.com [OR]
RewriteCond %{SERVER_NAME} =mysite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
        </VirtualHost>
  • Настраиваем виртуальный хост HTTPS протокола.
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
 
ServerAdmin webmaster@mysite.com
ServerName mysite.com
ServerAlias www.mysite.com
 
DirectoryIndex index.php
php_admin_value open_basedir "/var/www/mysite.com/public:/tmp"
 
DocumentRoot "/var/www/mysite.com/public"
<Directory "/var/www/mirax-hotel.com.ua/public_www">
        Options +FollowSymLinks -Indexes +MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
</Directory>
 
LogLevel info ssl:warn
ErrorLog /var/www/mysite.com/logs/error.log
CustomLog /var/www/mysite.com/logs/access.log combined
 
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
 
        </VirtualHost>
</IfModule>
  • Включаем виртуальный хост и применяем изменения.
a2ensite mysite.com
service apache2 reload
  • Заменяем самоподписанные SSL сертификаты на Let’s Encrypt. Перейдя по ссылку certbot, для получения инструкции по установки утилиты certbot нужно выбрать ваш HTTP сервер (в моем случае Apache) и ОС (в моем случае Ubuntu 16.04)

Install and Configure MariaDB

Существует 2 ветки MariaDB - 5.x и 10.x.:

  • 5.x - это версии, максимально приближенные к MySQL последних версий, они полностью совместимы с MySQL.
  • 10.x - новая линейка версий, которую начали после версии 5.5. Эти версии полностью не копируют все новые функции последних версий MySQL, но содержат свои уникальные функции.
  • Установим версию дистрибутива это MariaDB 10.0.28-0ubuntu0.16.04.1:
aptitude install mariadb-server
  • Настроим сервер SQL более безопасным, запустив скрипит, поставляемый с дистрибутивом MariaDB
mysql_secure_installation

В пошаговом режиме он предложит скорректировать следующие моменты дефолтной инсталляции:

  • установить пароли на все обнаруженные root аккаунты (по-умолчанию root в MySQL идет без пароля)
  • запретить доступ к аккаунту root из-за пределов localhost
  • удалить все тестовые аккаунты, которые автоматически создаются при инсталляции MySQL, в силу чего любой пользователь может подключиться к БД.
  • удалить базу test , а также права по-умолчанию позволяющие любому получать доступ с правами root ко всем базам данных начинающихся в своем имени на «test_ ».
mysql -u root -p
 
TYPE YOUR PASSWORD
CREATE DATABASE wordpressdb;
GRANT ALL privileges ON wordpressdb.* TO wpuser@localhost IDENTIFIED BY 'password';
FLUSH privileges;
\q

SFTP доступ

Для каждого сайта создадим системного пользователя ftpjoo для доступа по протоколу SFTP с группой www-data, от которой работает Apache.

useradd -d /var/www/mysite.com -s /bin/false -g www-data ftpjoo

В самый конец файла sshd_config напишем:

Match Group www-data
   ChrootDirectory %h
   ForceCommand internal-sftp -u 0007
   AllowTcpForwarding no
   X11Forwarding no

Зададим права для директорий, выполнив файл

permission_commands
#!/bin/bash
 
find /var/www/mysite.com -type f -exec chmod 660 {} \;
find /var/www/mysite.com -type d -exec chmod 770 {} \;
chown -R ftpjoo:www-data /var/www/mysite.com;
chmod 755 /var/www/mysite.com;
chown root:root /var/www/mysite.como;
website_hosting_lite.txt · Последние изменения: 2017/10/04 10:24 — darkfire