29 October 2024
Згодом будь-який проект, що розвивається, замислюється про власний сервер. Як ми вже неодноразово зазначали у нашому блозі, оптимальним варіантом є саме VPS. У цій статті ми розглянемо поетапне перенесення сайту з хостингу на VPS.
Перенесення сайту на VPS складається з наступних етапів:
Підключіться до віртуального хостингу по FTP. Найкраще для цього використовувати FileZilla, оскільки цей FTP-клієнт добре працює з великою кількістю файлів. Перейдіть до каталогу, який містить файли сайту. Як правило, це каталог public_html. Якщо ви раніше адміністрували сайт, то, напевно, знаєте, як називається цей каталог. Якщо виникли труднощі, зверніться до саппорту хостинг-провайдера.
Увійдіть до панелі керування старого хостингу. У ній часто є посилання на phpMyAdmin - ця програма використовується для роботи з БД.
Далі дії будуть такими:
Підключіться до сервера через ssh. Після цього насамперед оновимо список пакетів і самі пакети (до ЗС компанії Xelent відразу надається root-доступ, тому ніякі додаткові команди на кшталт sudo не потрібні):
apt update apt upgradeДалі встановимо Apache (веб-сервер) і файловий менеджер mc (потрібний для спрощення переміщення по файловій системі та редагування файлів):
apt install apache2 mc
Перейдіть до директорії /etc/apache2/sites-enabled і відкрийте файл 00-default.conf. Ми не створюватимемо окремі web-сервери для кожного сайту. Будемо вважати, що у нас є один сайт і його конфігурація буде зберігатися в 00-default.conf. Реальний приклад конфігурації наведено на наступному малюнку.
Основні директиви:
Запустимо web-сервер:
systemctl start apache2.service
Встановимо СУБД MySQL, команди:
apt install mysql-server mysql-client mysql_secure_installation
Перша команда встановлює необхідні пакети – сервер та клієнт. Друга запускає налаштування так званої безпечної інсталяції, в ході якої буде зроблено:
Після цього потрібно ввести команду:
mysql -u root -p CREATE DATABASE site; CREATE USER siteuser@localhost IDENTIFIED BY '123456789'; GRANT ALL PRIVILEGES ON site.* TO siteuser@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
Тут запускається клієнт і від імені MySQL-користувача root виконуються запити. Перший запит створює базу даних site, другий – створює користувача siteuser, від імені якого CMS звертатиметься до СУБД. Третій запит – надання повноважень користувачеві siteuser до всіх таблиць бази даних site. Звичайно, замість '123456789' вкажіть якийсь складний пароль. Останній запит здійснює застосування повноважень, а команда exit - вихід з клієнта mysql. Для встановлення PHP і всіх необхідних (у більшості випадків) пакетів використовується така довга команда:
apt install php php-cli openssl php-curl php-gd php-mcrypt php-xml php-intl php-zip php-mbstring php-soap php-mysql php-json libapache2-mod-php php-xsl composer
Вона встановить останню версію інтерпретатора, доступну для вашого дистрибутива. Наприклад, для Ubuntu 16.04 – це буде 7.0, для 18.04 – 7.2.
Довідатися версіюможна командою:
php -v
Встановимо максимальний розмір пам'яті сценарію. Відкрийте файл конфігурації (X – версія):
sudo mcedit /etc/php/7.X/apache2/php.ini
У ньому потрібно змінити ліміт пам'яті і відразу зберегтися:
memory_limit = 1024M
Додамо необхідні модулі Apache (введіть команду):
a2enmod rewrite
Також, щоб нормально працювали SEF URL деяких CMS, потрібно відкрити /etc/apache2/sites-enabled/000-default.conf і додати до секції VirtualHost рядки:
Options Indexes FollowSymLinks MultiViews AllowOverride All
Все, можна повторно перезапустити Apache.
Завантажте файли в каталог /var/www/html або будь-який інший, який ви вказали в DocumentRoot. Якщо ви використовуєте Bitvise SSH Client для підключення до SSH, завантажити файли можна у вікні Bitvise SFTP. Використовуйте команду контекстного меню Upload.