Установка и настройка веб-сервера Apache2 php mysql phpmyadmin (LAMP) на 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

Если вы все выполнили правильно, то у вас будет готов настроен локальный сервер. Успехов.

Расскажите нам о своем проекте!