Налаштування Apache, PHP і MySQL для Linux-VPS

   Ми вже викладали матеріали, де вже наочним чином була показана установка Apache з PHP і MySQL під Windows, але найкращий варіант - це встановлена локальна VPS з Linux під Windows. Коли ми встановлювали в останній раз, то ця трійка була встановлена під Debian, який описувався одним рядком. У двох випадках ні разу не розглядалися настройки Web і SQL-серверів. Особливо не розглядалося детально Web, а для хостингу дуже важливий - Apache.

Установка Apache, PHP і MySQL в Debian
По-перше, необхідно встановити потрібне програмне забезпечення на свій сервер (віртуальний або реальний - в основному для цих цілей різниці немає). Як відзначалося набагато легше проводяться такі роботи в Linux, а не в Windows. Давайте зупинимося на цьому детальніше, тому що ми буде встановлювати на незайману версію Apache і PHP, а разом з обвязками з різних бібліотек. А так само необхідно встановити (це самий мінімум) програми: GD потрібна для підтримування графіки, ImageMagick вона потрібна для поліпшеної графіки в роботі з PHP, і ще Mcrypt, вона призначена для шифрування.
Отже, починаємо установку:
apt-get install apache2 php5 imagemagick libapache2-mod-php5 php5-gd php5-imagick php5-mcrypt
В цьому моменті нам потрібно встановити Apache, PHP і ImageMagick (а, GD вже був закачано разом з базою даних), що б модулі зістиковувалися з Apache з PHP і PHP з GD, ImageMagick і Mcrypt необхідно встановити так само.
позначка:
   В основному вся затія роботи з встановленням пакетів в Debian зводиться до установки apt-get разом з командою (це комнду називається Install) і далі встановити всі наступні необхідні пакети. 
Далі почнемо встановлювати MySQL:
apt-get install mysql-server mysql-client php5-mysql
Тут починають встановлюватися відразу три види пакетів: власне сам сервер MySQL, клієнт MySQL (він забезпечує доступ до всього серверного центру) та підтримка модулів MySQL в PHP. Коли процес установки вже почався, то сам сервер MySQL повинна попросити у вас пароль, зазвичай для користувача root (обов'язково не переплутайте з системним супер користувачем root!).

   Необхідно ввести пароль, потім ввести його повторно на іншому екрані і через кілька хвилин після виконаної роботи, встановлена MySQL буде завершений. 
Такими діями, після всіх цих установок, у нас буде все потрібне для повноцінного веб-сервісу. Для більшої зручності встановимо phpmyadmin. В основному така легка процедура робиться в Debian:
apt-get install phpmyadmin
   Коли ви почнете встановлювати, то програма повинна запитати вас, для яких цілей і для якого сервісу ви хочете конфігурувати утиліту - необхідно вказати на apache2, для цього потрібно клікнути на нього або натиснути пробіл.

   Коли ви вже встановіть її, вам буде запропоновано конфігурувати базу даних під phpmyadmin. Потрібно погодитися з цим вибравши Yes, далі потрібно буде ввести пароль для користувача root для MySQL (ми вже вводили його, коли встановлювали сервер) і так само створимо пароль для phpmyadmin
Далі потрібно запустити phpmyadmin, тим самим подивившись, чи все працює у нас. Що б це зробити необхідно, запустити браузер (бажано Google Chrome) і в адресному рядку пишемо Ip-адреса нашого сервера (наприклад, 192.168.0.208 - але вони можуть бути й іншими) і той же шлях до phpmyadmin, він буде таким же «http : //192.168.0.207/phpmyadmin ». Тим самим після виконаної роботи повинна з'явитися сторінка з авторизацією.
    У рядку логін вводимо (root) і в рядку пароль вводимо (MySQL-root) і заходимо. Саме цими діями ми переконалися, що Apache, PHP і MySQL починають працювати без перебоїв, так як Phpmyadmin навантажує всі три складові. Необхідно вказати шлях, локальної системи в даному випадку неважливий, але все одно потрібно поміняти ім'я адресою скрипта, зі стандартною в який не будь незвичайний. Для того що б перейменувати необхідно в каталозі / etc / phpmyadmin, далі відкриємо файл apache.conf і в рядку Alias  прописуємо новий шлях (скажімо, mypath). 
Далі необхідно перезапустити apache:
/etc/init.d/apache2 restart
Звичайно ж, шлях до phpmyadmin зміниться на http://192.168.0.207/mypath/

Налаштування Apache в Linux
   Якщо ви виконали всі перераховані вище дії, то ви спокійно і без всяких проблем перейдете в конфігурацію Apache. Файли цього веб сервери знаходяться в каталозі в випадку з Debian / etc / apache2. Потрібні і основні налаштування знаходяться в каталозі mods-available і sites-available. Необхідно враховувати, що для конфігурації використовуються тільки відповідно ті файли, на яких є посилання з каталогу mods-enabled і sites-enabled. А так само можна створити і свої файли, по-перше необхідно визначитися з типом файлу, якого ми хочемо створити. Тому що інтерпретатор PHP обробляє тільки нижчеперелічені файли форматів: .php, .pht і .phtml. А що б встановити до цих файлів ще формат .html - необхідно знайти файл mime.conf в / etc / apache2 / mods-available і знаходимо в ньому рядок, вона повинна містити «php» (що б знайти файл, потрібно просто натиснути F7 і вказати назву). Якщо ви не знайшли, то потрібно подивитися де розташований системний файл. Рядок, швидше за все, повинна почати з TypesConfig. В основному даний нам файл розташований в самому корені каталогу / etc і має назву mime.types.

   Позначка: Звичайно ж, для випадку з Debian 6 необхідно буде відкрити /etc/mime.types, а не шукати настройки типів в конфігураціях Apache). 
Далі потрібно відкрити файл для редагування, і знаходимо там рядок application / x-httpd-php і необхідно буде дописати в кінці рядка html (без крапки).

   Потім необхідно перейти до установки каталогу для нашого сайту. Бажано було б розташувати і встановити його там де стоїть наш хостинг. Цей каталог буде виглядати приблизно так: «/ home / мія_пользователя / імя_сайта». При цьому дії у нас виникла проблема з користувачем, який би працював з сервісом httpd з-під root не потрібен. Що б створити користувача необхідно ввести команду useradd, в настройках потрібно вказати йому шлях до домашнього каталогу і вказати йому ім'я користувача. Візьмемо йому ім'я userone:

useradd -d / home / user1 -m userone
Ключ -m означає, що обов'язково за допомогою -d каталог зобов'язаний бути встановлений або створений автоматично. Потім необхідно задати йому пароль - зробити це можна за допомогою команди passwd:
passwduserone
   Тепер все готово до створення сайту. Давайте змінимо користувача, що б заново створити нового в необхідні нам каталоги: 
suuseronemkdir / home / user1 / site1 mkdir / home / user1 / site1 / logs mkdir / home / user1 / site1 / www exit
   Каталоги у нас готові, тепер давайте повернемося до Apache. Нам потрібно дізнатися віртуальний хостинг для сайта site1 (назвемо його site1.ru). Для того що б зробити все правильно необхідно: в каталозі прописати / etc / apache2 / sites-available починає створюватися файл з налагодження виду імя_сайта .conf, в нашому випадку це site1.ru.conf. У ньому і потрібно прописувати всі необхідні нами конфігурацію.еслі ви використовуєте наш приклад, то у вас повинно вийти наступне: 


<VirtualHost *: "80> ServerName site1.ru ServerAlias www.site1.ru DocumentRoot / home / user1 / site1 / www <directory / home / user1 / site1 / www> AllowOverride All Order allow, deny allow from all </ directory> ErrorLog /home/user1/site1/logs/error.log LogLevel warn CustomLog /home/user1/site1/logs/access.log combined </ VirtualHost>


   На кодах видно, що всі налаштування складаються у своєрідному тезі VirtualHost, Для нього зазвичай потрібно указатьт адресу і порт, по ньому буде написаний цей сайт. Вкладені настройки нагадують наступне: 
ServerName - Це доменне ім'я нашого сервера
ServerAlias - Алиас сервера (можна вказувати кілька таких параметрів) 
DocumentRoot - Кореневий каталог сайта
ErrorLog - Шлях та ім'я файлу для запису логів помилок
LogLevel - Рівень важливості помилки, починаючи з якого інформація повинна потрапити в лог CustomLog - Шлях та ім'я файлу для запису логів доступу
Конструкцію directory яку ми вклали в описаний нами каталог, він вказує на домашній і схожий на нього (DocumentRoot). Рядок OptionsAllowOverrideAll позначає, що ми даємо згоду перезаписати будь-які настройки за допомогою .htaccrss. У наступних двох рядках визначається права на доступ, в даному випадку, з якого ми захочемо адреси. Необхідно запам'ятати що allow, deny пишеться без пробілу - це одна настройка.

позначка:

   Необхідно відзначити, що directory може без вашого відома дати угоду, а далі він застосуватися при конфігурації Apache не тільки всередині VirtualHost, він ще й може застосовуватися в будь-якому іншому місці, де необхідно буде задати питання для каталогу.

Далі, коли файл конфігурації Apache для абсолютно нового сайту готовий, потрібно вказати серверу, що файл необхідно активувати. Що б активувати файл, необхідно створити симлінк на даний файл в каталозі / etc / apache2 / sites-enabled. Створити це можна за допомогою команди In:

ln -s /etc/apache2/sites-available/site1.ru.conf /etc/apache2/sites-enabled/site1.ru.conf
Коли ми виконаємо це завдання, потім ми зможемо вимкнути створений файл з налаштувань, потрібно просто на просто видалити посилання на самому файлі sites-enabled, або створивши посилання знову, що б його відновити.
Давайте проведемо перший запуск конфігурації, перезапустивши Apache:
/etc/init.d/apache2 restart
Тепер залишилося виконати найменше - необхідно повідомити браузеру, про те, що доменне ім'я site1.ru далі необхідно відшукати за IP-адресою нашої віртуальної машини. Що б це зробити, потрібно здійснити дану запис у файлі hosts (стандартно він зазвичай розташований в c: \ windows \ system32 \ drivers \ etc \). Якщо у вас стоїть WindowsVista / Seven, то необхідно запустити за допомогою адміністратора. Також потрібно виконати:

notepad.exe c: \ windows \ system32 \ drivers \ etc \ hosts
Наприкінці потрібно дописати:
192.168.0.207 site1.ru
   Далі потрібно зберегти файл, потім запустити браузер і ввести в адресному рядку site1.ru. потім відкриється стандартна нами сторінка перегляду каталогу через HTTP
Index of / Name Last modified Size Description Apache / 2.2.16 (Debian) Server at site1.ru Port 80
   Хороша робота, наш перший сайт під Linux-VPS налаштований і працює відмінно.
Установка FTP-сервера в Debian
Далі, як Apache буде налаштований, потрібно встановити контент на вже готовий нами сервер. Але, що б зробити це, необхідно встановити FTP-сервер. Потім повертаємося назад до Debian і пишемо:
apt-getinstallproftpd
при установці він задасть питання про варіант роботи, необхідно вибрати standalone, в результаті чого FTP-сервер буде встановлений, він так само буде автоматично налаштований і почне функціонувати. Що б підключиться до нього, можна використовувати будь-який FTP-клієнт (Filezilla, TotalCommander і т.д.), використовуватимемо вже створені користувачем настройки userone.
   І знову можна працювати на сайті точно так само як і на реальному сервері. Ну загалом удачі вам, в ваших починаннях.