Установка apache2 + php + mysql + phpmyadmin на ubuntu 16.04
Решил поделиться с вами опытом установки софта на Ubuntu 16.04.
Напомню, все ниже описанные операции нужно выполнять под рутом (sudo su -).
обновляем софт
1 |
sudo apt-get update |
ставим Apache2
1 |
apt-get install apache2 |
настроим Apache2
1 2 3 4 5 6 7 8 9 10 |
nano /etc/apache2/apache2.conf ## фиксим предупреждения при перезапуске Apache ServerName localhost ## Включаем интерпретацию php AddType application / x-httpd-php .php .phtml ## Устанавливаем кодировку UTF-8 по умолчанию AddDefaultCharset UTF-8 |
перезапускаем Apache
1 |
service apache2 restart |
Открываем http://localhost/ и радуемся.
Настраиваем виртуальные хосты (VirtualHost)
(только для локальных хостов) создать файл vhosts.sh со следующим содержимым:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#!/bin/bash echo "Creating Virtual Host" cd /etc/apache2/sites-available cat <<EOF >> "$1.conf" <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName $1 ServerAlias www.$1 DocumentRoot "/var/www/$1" <Directory /var/www/$1> Options All AllowOverride All </Directory> </VirtualHost> EOF mkdir "/var/www/$1" cd /etc/apache2/sites-enabled ln -s "/etc/apache2/sites-available/$1.conf" "$1.conf" echo "Editing /etc/hosts" cat <<EOF >> "/etc/hosts" 127.0.0.1 $1 EOF echo "Set permissions" chmod 0777 -R "/var/www/$1" echo "Restarting Apache2" /etc/init.d/apache2 restart echo "Finished!" echo "Local address: /var/www/$1" echo "Web address: http://$1" |
Даете права на выполнение:
1 |
chmod + x /var/www/vhosts.sh |
Пример создания хоста:
1 |
sudo /var/www/vhosts.sh mysite.loc |
Все последующие шаги по virtualhosts можно пропускать.
В /etc/hosts прописываем наши хосты: (nano /etc/hosts)
1 |
127.0.0.1 mysite.loc |
Переходим в папку /etc/apache2/
Смотрим, что внутри:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
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.
1 |
nano sites-available/mysite.conf |
Пишем туда:
1 |
ServerName mysite.loc DocumentRoot /var/www/mysite.loc AllowOverride All |
Данной записи достаточно, чтобы работал ваш локальный хост. Теперь нужно создать ссылку на него в sites-enabled.
1 |
a2ensite mysite.conf |
Ошибки: если в вас возникает ошибка и вы не можете создать ссылку. Тогда это сделать можно следующей записью:
1 |
ln /etc/apache2/sites-available/mysite.conf /etc/apache2/sites-enabled/ |
Теперь нужно только перезагрузить настройки Apache2:
1 2 3 |
service apache2 reload ## или, если необходимо service apache2 restart |
Итак, Apache2 работает, первый хост добавлен!
ставим MySQL
MySQL содержится в репозиториях Ubuntu. Он разбит на несколько пакетов.
Для того чтобы установить MySQL сервер выполните команду:
1 |
sudo apt-get install mysql-server |
При установке конфигурации скрипт запросит пароль администратора (root) базы данных.
Ставим PHP 5.6
Сначала нужно удалить все старые версии, если есть
1 |
sudo apt-get purge `dpkg -l | grep php | awk '{print $ 2}' | tr "\ n" "" ` |
добавляем PPA
1 |
sudo add-apt-repository ppa:ondrej/php |
обновляемся
1 |
sudo apt-get update |
ставим php
1 |
sudo apt-get install php5.6 |
дополнительные модули
1 |
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml |
Смотрим версию:
1 2 3 4 5 6 7 8 9 |
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
1 |
apt-get install phpmyadmin |
Конфигурируем его под себя, — обозначаем что юзает Apache2, указываем пароль к БД, и пароль к phpmyadmin
Ошибки: http://localhost/phpmyadmin not found ubuntu
решение:
1 2 3 |
nano /etc/apache2/apache2.conf ## добавляем в конец файла Include /etc/phpmyadmin/apache.conf |
Ошибки: http://localhost/phpmyadmin HTTP ERROR 500
1 2 3 4 |
sudo apt-get install php-mbstring php-gettext sudo phpenmod mcrypt sudo phpenmod mbstring sudo service apache2 restart |
Если вы все выполнили правильно, то у вас будет готов настроен локальный сервер.
Если возникли проблемы, обращайтесь к нам за помощью, [email protected]
Приветствую!
Прежде всего автору — благодарность!
Давно уже ваш читатель и статьи с сайта часто выручали.
Но не могу промолчать:
зачем приводите пример установки php 5.6 ?
статья явно не для тех кто ставит мышкой «цмс-ки»
большинство систем уже требуют php 7.0 а лучше 7.1
Было бы здорово увидеть дополнение к статье по накатыванию именно свежей версии
С уважением!!
Добрый день. Спасибо за отзыв. Постараемся, дополнить, по возможности.
Pingback : Как установить LARAVEL