Устанавливаем новейшую версию php для Linux и настраиваем виртуальный хост

Всем привет, друзья. Сегодняшняя статья откроет новый раздел на нашем сайте, посвященный веб программированию. А так как для разработки на php требуется минимальный набор инструментов, то логично, что для начала следует настроить свою среду разработки. Сегодня мы с вами установим все инструменты, необходимые для разработки на php. Базовый набор:
– php
– apache
– mysql

Apache

Начнем с сервера, который будет обрабатывать все запросы нашего приложения. Чтобы установить сервер apache необходимо открыть терминал и выполнить простую команду

sudo apt-get install apache2

Нам нужно убедиться, что апач установился успешно. Запускаем команду

apache2 -v

В терминале отобразится версия сервера и сборки

Server version: Apache/2.4.7 (Ubuntu)
Server built: Sep 18 2017 16:37:54

MYSQL

Далее устанавливаем сервер базы данных. Для этого запускаем команду:

sudo apt-get install mysql-server

Во время установки вас попросят ввести пароль для вашего сервера и подтвердить его.

Запускаем команду

mysqladmin -p -u root version

и видим что-то вроде:

mysqladmin Ver 8.42 Distrib 5.5.57, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version 5.5.57-0ubuntu0.14.04.1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime:

PHP 7.2

Пришло время установить интерпретатор PHP – языка, ради которого мы все это затеяли.

Обновляемся:

sudo apt-get update && sudo apt-get upgrade

Устанавливаем пакет python-software-properties

sudo apt-get install python-software-properties

Добавляем необходимый репозиторий

sudo add-apt-repository ppa:ondrej/php

Обновляем список пакетов

sudo apt-get update

И наконец устанавливаем новейшую версию php

sudo apt-get install php7.2

Проверяем установился ли php

php -v

И получаем в консоль что-то вроде:

PHP 7.2.2-1+ubuntu14.04.1+deb.sury.org+1 (cli) (built: Feb 1 2018 16:41:09) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.2-1+ubuntu14.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies

Можно также установить дополнительные модули для php

sudo apt-get install php-pear php7.2-curl php7.2-dev php7.2-gd php7.2-mbstring php7.2-zip php7.2-mysql php7.2-xml

Первый хост

Отлично. Мы установили все необходимые инструменты для того, чтобы начать разрабатывать на php. Осталось настроить локальный сервер, на котором мы будем запускать наш php код.

Где живет наш код?

Для начала нужно выделить на диске пространство для нашего будущего проекта.
В терминале переходим в домашнюю директорию выполнив команду

cd

Далее создаем директорию, где будем хранить весь наш код.

mkdir Code

Переходим в нее

cd Code

Создаем папку для нашего первого проекта и сервера, который будет обрабатывать его запросы

mkdir proj

Переходим в нее

cd proj

И создаем папку public, внутри которой создаем файл index.php

mkdir public
cd public
touch index.php

Открываем index.php

sudo nano index.php

и наполняем его следующим содержанием:

< ?php
echo “It works”;

Конфиг Apache

Создаем конфигурационный файл для нашего нового хоста. Для этого сделаем копию дефолтного конфига

cd /etc/apache2/sites-available
sudo cp 000-default.conf proj.com.conf

Открываем и редактируем его

sudo nano proj.com.conf

Заменим #ServerName www.example.com на ServerName proj.com

а ниже добавим ServerAlias www.proj.com

Вместо DocumentRoot /var/www/html в нашем случае должно быть

DocumentRoot /home/username/Code/proj/public

Ниже добавляем следующее:

< Directory /home/username/Code/proj/public >

AllowOverride All
Options FollowSymlinks
Require all granted
</ Directory >

Сохраняем и закрываем файл. Далее окрываем файл хостов

sudo nano /etc/hosts

и добавляем наш свежесозданный хост:

127.0.1.1 proj.com

Включаем наш новый хост

sudo a2ensite proj.com.conf

Перезагружаем апач

sudo service apache2 reload

Идем в браузер пишем в строке поиска http://proj.com

Вы должны увидеть приветствие, которое мы написали в индексном файле

Вполне возможно, что вы увидите в браузере исходный код файла index.php. В этом случае выполните команду

sudo a2enmod php7.2

перезагрузите апач

sudo service apache2 restart

и обновите страницу в браузере. Теперь все будет работать.

Что ж, поздравляю вас. Только что вы настроили свой первый сервер и готовы начать разрабатывать на php. Совсем скоро я опубликую первый урок и мы окунемся с вами в интересный мир веб разработки. До новых встреч!