Що потрібно знати про хостинг сайтів на linux (ubuntu) - близько програмістський блог

Хотілося б поділитися своїм досвідом перенесення сайтів на Linux VPS-хостинг. Головною причиною переїзду з Windows Server для мене послужила вкрай низька швидкість роботи важких систем управління контетом - WordPress і Joomla на сервері IIS в середовищі Windows Server. Конкретний Linux- хостинг - DigitalOcean. але інструкції будуть застосовні до будь-якій системі Ubuntu.

Спеціально для того, щоб переконатися, що інструкцій в статті буде досить я створив новий дроплет з Ubuntu 12.10 X64 Desktop. Звичайно ж, тут хтось тут же потягнеться за помідорами з приводу установки деськтопной версії, але якщо ми не збираємося піднімати сто примірників нашого супер-масштабується і високонавантаженого додатки, то набагато простіше і зручніше поставити десктопну версію. Як мінімум, ми отримуємо повноцінний браузер і щось схоже на Total Commander (Double Commander).
Хоча DigitalOcean надає можливість попередньо встановити необхідні додатки, для навчальних цілей розгортаємо чисту систему.

Насамперед встановлюємо веб-сервер apache

Що потрібно знати про хостинг сайтів на linux (ubuntu) - близько програмістський блог

Встановлюємо PHP відразу з модулем curl, який часто потрібно.
sudo apt-get install php5 libapache2-mod-php5 php5-curl

Чи можемо побачити дивне повідомлення на кшталт: «apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName» Можна відразу усунути цю проблему, що не дає в подальшому використовувати звертатися до сервера зовні. Для цього
правимо файл конфігурації apache:
1) sudo gedit /etc/apache2/apache2.conf
прописуємо:
2) ServerName localhost
і перезавантажуємо сервер
3) sudo /etc/init.d/apache2 restart

Тепер займемося установкою бази даних MySQL

sudo apt-get install mysql-server
Під час установки буде запитано новий пароль адміністратора бази даних MySQL. Відразу скажу, що для того, щоб в подальшому його поміняти, наприклад якщо був встановлений занадто простий пароль на тестову систему слід ввести команду: mysqladmin -u root -p'oldpassword 'password newpassword
де root - ім'я користувача MySql, oldpassword старий пароль newpassword - новий пароль.

Встановлюємо систему управління MySQL - PhpMyadmin.
sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

Вибираємо apache2 як сервер, вводимо пароль суперкористувача root, погоджуємося зі створенням нового конфіга db-config.

Що потрібно знати про хостинг сайтів на linux (ubuntu) - близько програмістський блог

Знову перезавантажуємо apache, щоб активувати зв'язку з MySQL (service apache2 restart або sudo /etc/init.d/apache2 restart)

Далі нам я рекомендую поставити панельний файловий менеджер. Можливо комусь буде достатньо Midnight Commander (sudo apt-get install mc), але можна поставити щось більше схоже на Total Commander - Double Commander. Для установки Double Commander:

Таким же чином ми можемо розгорнути копію нашого сайту або безпосередньо в / var / www /. або створивши посилання на зручне для нас місце.

Залишилося навчитися прив'язувати сайти до доменних імен. Йдемо в каталог / etc / apache2 / sites-available і створюємо файл з ім'ям сайту, наприклад site.ru (без розширення txt або хоч би не було). У файлі прописуємо приблизно наступне:

У файлі конфігурації ми прописали псевдонім в ServerAlias, щоб сайт був доступний по імені не тільки site.ru, але і www.site.ru. У DocumentRoot вказуємо кореневий каталог, де знаходиться сайт. Зазначені шляхи балки потрібно створити, якщо папки log, то працювати лог не буде.

Для того, щоб включити сайт виконуємо команду sudo a2ensite site.ru. Після її виконання файл скопіюється в папку / etc / apache2 / sites-enabled і після завантаження нової конфігурації командою service apache2 reload буде доступний по доменному імені, якщо вже налаштували DNS і настройки DNS поширилися по світу.

Далі якщо не дозволити весь каталог сайту на запис, то з WordPress відразу ж виникнуть проблеми, що неможливо оновити сайт - при оновленні буде показуватися сторінка FTP-сервера, а також не можна завантажити медіа-контент при редагуванні посту. Потрібно дозволити на запис каталог wp-content, для цього вибираємо File-change attributes в Double Commander. А також прописуємо в wp-config.php рядок define ( 'FS_METHOD', 'direct'); Більш докладно розказано в офіційній документації WordPress. Після цих дій автоматичні додавання повинні заробити.

Що потрібно знати про хостинг сайтів на linux (ubuntu) - близько програмістський блог
Призначення прав на запис для каталогу wp-content

І наостанок список шляхів, які знадобляться при роботі і налагодженні сайтів:

  • /etc/apache2/apache2.conf - файл конфігурації apache (він же httpd.conf)
  • /etc/mysql/my.cnf - файл конфігурації MySQL (він же httpd.conf)
  • / Var / log / apache2 - каталог з логами apache
  • / Var / log / mysql - каталог з логами mysql

Схожі статті