Встановлення Apache2 + php + mysql + phpmyadmin на Ubuntu 16.04

Люба х...ня

Попередня саття про встановлення і базове налаштування сервера на ubuntu користується великим попитом, незважаючи на те що вона вже морально устаріла. Тому я вирішив поділитись з вами досвідом встановлення софта на Ubuntu 16.04.

Я вирішив продублювати частину інструкції з попередньої статті

Нагадаю, всі нижче описані операції потрібно виконувати під рутом (sudo su -).

Обновляємо софт

sudo apt-get update

Ставимо Apache2

apt-get install apache2

Налаштуємо Apache2

nano /etc/apache2/apache2.conf

## Фіксаємо попередження при перезапуску Apache
ServerName localhost

## Включаємо інтерпретацію php
AddType application/x-httpd-php .php .phtml

## Встановлюємо кодування UTF-8 по замовчуванню
AddDefaultCharset UTF-8

Перезапускаємо Apache

service apache2 restart

Відкриваємо http://localhost/ і радіємо.

Налаштовуємо віртуальні хости (VirtualHost)

Для лінивих (тільки для локальних хостів) в мене є заготовка на bitbucket.

Качаєте файлик. Кидаєте в /var/www.

Даєте права на виконання:

chmod +x /var/www/vhosts.sh

Приклад створення хоста:

sudo /var/www/vhosts.sh mysite.loc

Все наступні кроки по virtualhosts можна пропускати. 

В /etc/hosts прописуєм наші хости: ( nano /etct/hosts )

127.0.0.1    mysite.loc

Переходимо в папку  /etc/apache2/

Дивимось, що всередині:

root@HP:/etc/apache2# ls -l
загалом 88
-rw-r--r-- 1 root root  7728 кві 26 22:55 apache2.conf
-rw-r--r-- 1 root root  7691 кві 26 22:34 apache2.conf~
drwxr-xr-x 2 root root  4096 кві 26 22:52 conf-available
drwxr-xr-x 2 root root  4096 кві 26 22:52 conf-enabled
-rw-r--r-- 1 root root  1782 січ  3 16:48 envvars
-rw-r--r-- 1 root root 31063 січ  3 16:48 magic
drwxr-xr-x 2 root root 12288 кві 26 22:27 mods-available
drwxr-xr-x 2 root root  4096 кві 26 22:27 mods-enabled
-rw-r--r-- 1 root root   320 січ  7 15:23 ports.conf
drwxr-xr-x 2 root root  4096 кві 26 22:43 sites-available
drwxr-xr-x 2 root root  4096 кві 26 22:44 sites-enabled

В папці sites-available містятся кофніги доступних хостів, а в sites-enabled ссилки на активні хости.

Переходимо в доступні хости і створюємо конфіг для mysite.loc. Доречі, якщо ваш дефолтний конфіг закінчується на .conf тоді створюйте конфіги з розширенням *.conf.

nano sites-available/mysite.conf

Пишемо туди:


    ServerName mysite.loc
    DocumentRoot /var/www/mysite.loc
    
        AllowOverride All
    

Даного запису достатньо щоб працював ваш локальний хост. Тепер потрібно створити посилання на нього в sites-enabled.

a2ensite mysite.conf

Граблі: якщо в вас виникає помилка і ви не можете створити посилання. Тоді це зробити можна наступним записом:

ln /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/

Тепер потрібно лише перезавантажити налаштування Apache2:

service apache2 reload
## або, якщо необхідно
service apache2 restart

Отже, Apache2 працює, перший хост додано!

Ставимо MySQL

MySQL є в репозиторіях Ubuntu. Він розбитий на кілька пакетів.

Для того щоб встановити MySQL сервер виконайте команду:

sudo apt-get install mysql-server

При встановленні конфігураційний скрипт запросить пароль адміністратора (root) бази даних.

Ставимо PHP 5.6

Спершу потрібно видалити всі старі версії, якщо є

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

Додаємо PPA

sudo add-apt-repository ppa:ondrej/php

Обновляємось

sudo apt-get update

Ставимо php

sudo apt-get install php5.6

Додаткові модулі

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Дивимось версію:

sudo php -v

PHP 5.6.26-1+deb.sury.org~xenial+1 (cli) 

Copyright (c) 1997-2016 The PHP Group

Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies


Ставимо PhpMyadmin

apt-get install phpmyadmin

Конфігуруємо його під себе, - позначаємо що юзаємо Apache2, вказуємо пароль до БД, і пароль до phpmyadmin

Граблі: http //localhost/phpmyadmin not found ubuntu

Рішення:

nano /etc/apache2/apache2.conf
## додаємо в кінець файлу
Include /etc/phpmyadmin/apache.conf

Граблі 2: http //localhost/phpmyadmin  HTTP ERROR 500

sudo apt-get install php-mbstring php-gettext
sudo phpenmod mcrypt
sudo phpenmod mbstring
sudo service apache2 restart

Якщо ви все виконали правильно, то у вас буде готовий налаштований локальний сервер. Успіхів.

Розкажіть нам про свій проект!