Установка

Ubuntu установка apache php: LAMP (apache mysql php) | Русскоязычная документация по Ubuntu

Содержание

LAMP (apache mysql php) | Русскоязычная документация по Ubuntu

В этой статье описана установка и настройка LAMP (Linux-Apache-MySQL-PHP) сервера на базе Ubuntu включающего Apache 2, PHP 5, и MySQL 5.0.

Установка стандартного набора LAMP

Начиная с Ubuntu 7.04 (Feisty Fawn) поумолчанию установлена полезная утилита Tasksel(англ.). Она поможет вам установить LAMP.
Просто выполним команду:

sudo tasksel install lamp-server

При установке будет запрошен пароль для создания администратора БД MySQL.

Удаление LAMP

Для удаления LAMP вам придется удалить его компоненты отдельно:

apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libapr1 libaprutil1 libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl libplrpc-perl libpq5 mysql-client-5.0 mysql-common mysql-server mysql-server-5. 0 php5-common php5-mysql

Установка Apache 2

Если требуется установить только веб-сервер Apache 2 используйте любой метод для того, чтобы установить пакет apache2.
Для того, чтобы Apache заработал его следует перезапустить:

sudo /etc/init.d/apache2 restart

Возможные ошибки

Если при запуске появляется следующая ошибка
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
запустите свой любимй текстовый редактор (например sudo nano или gksu gedit) и создайте файл /etc/apache2/conf.d/fqdn , со следующим содержанием:

ServerName localhost

Это так же можно сделать выполнив комманду:

echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Виртуальные хосты

Apache2 позволяет создавать различные конфигурационные файлы для сайтов. Они находятся в папке /etc/apache2/sites-available. По-умолчанию создается только один сайт default, на который можно зайти введя в браузере http://localhost или http://127.0.0.1.

Директория для файлов сайта находится в /var/www. Необходимы права root для доступа к этой папке. Но вы можете изменить права на нее командой

sudo chown -R $USER:$USER /var/www 

Вы также можете создать собственные сайты.

Для примера мы создадим новый сайт в папке /home/user/public_html/ :

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite 
  • Отредактируем новый конфиг-файл в текстовом редакторе выполнив в консоли sudo nano или gksudo gedit, например:

    gksudo gedit /etc/apache2/sites-available/mysite
  • Добавляем строчку с параметром ServerName. Для примера, ServerName mysite

  • Добавляем строчку с параметром ServerAlias. Для примера, ServerAlias www. mysite

  • Изменяем параметр DocumentRoot на новое месторасположение сайта. Для примера, /home/user/public_html/

  • Изменяем параметр Directory, заменив <Directory /var/www/> на <Directory /home/user/public_html/>

  • Вы можете иметь раздельные log-файлы для ваших сайтов. Для этого измените ErrorLog и CustomLog параметры.

  • Сохраняем файл.

Теперь вы можете деактивировать ваш старый сайт и включить новый. Ubuntu содержит две маленькие утилиты для помощи в этом: a2ensite (apache2enable site) и a2dissite (apache2disable site).

sudo a2dissite default && sudo a2ensite mysite

Осталось только перезапустить Apache2:

sudo /etc/init.d/apache2 restart

Если вы не создали папку /home/user/public_html/, то получите сообщение с предупреждением об этом.

Внесем имя сайта в список хостов сервера:

sudo gedit /etc/hosts

Дописать в строчку 127.0.0.1 localhost через пробел mysite www.mysite
Перезапустить Apache2

sudo /etc/init.d/apache2 restart

Для проверки вашего нового сайта создайте файл в папке /home/user/public_html:

echo '<b>Hello! It is working!</b>' > /home/user/public_html/index.html

И откройте в браузере адрес http://localhost/

Установка PHP 5

Чтобы установить модуль PHP для Apache используйте любой метод для того, чтобы установить пакет libapache2-mod-php5.
Включить модуль PHP 5 в Apache можно выполнив:

sudo a2enmod php5

Это создаст символическую ссылку /etc/apache2/mods-enabled/php5 указывающую на /etc/apache2/mods-availble/php5 .
Если не вы используете устаревшие в PHP короткие теги <? (что крайне нерекомендуемо) вместо <?php откройте от имени суперпользователя
файл /etc/php5/apache2/php. ini , найдите в нем строчку

short_open_tag = On

и замените ее на

short_open_tag = Off

Это заставит игнорировать открывающие теги <?xml в файлах, обрабатываемых PHP.

Для того, чтобы изменения вступили в силу перезапустите Apache

sudo service apache2 restart

note

Проверка PHP

В папке /var/www создайте файл test.php, дайте права на чтение из него всем (или хотя бы пользователю apache) и запишите в него следующую строку:

<?php phpinfo(); ?>

Теперь попробуйте в своем браузере перейти на страницу http://localhost/test.php. Если вы видите описание установленного PHP, значит вы все настроили правильно.

Возможные ошибки

Ваш браузер предлагает вам скачивать PHP-страницы, а не показывает вам их? Если Apache не обрабатывает PHP-страницы после того как вы ео перезапустили, попробуйте установить пакет libapache2-mod-php5 . Обычно он устанавливается вместе с пакетом php5, но он может быть удален изза конфликта пакетов, которым нужна другая версия PHP.

Если при выполнении команды sudo a2enmod php5 вы получаете в ответ

This module does not exist!

попробуйте полностью удалить пакет libapache2-mod-php5

sudo apt-get purge libapache2-mod-php5

и установить его заново.

Не забывайте очищать кеш браузера перед тем как снова тестировать свой сайт.

Помните, что Apache будет обрабатывать файл только если URI начинается с http:// . Если адрес начинается с file:// , то файл будет отображатся напрямую браузером, по этому вы увидите только CSS и (X)HTML, но не PHP. Если вы не конфигурировали виртуальные хосты, то локальный адрес будет иметь вид http://127. 0.0.1 , http://localhost или http://ваш_IP.

Установка MySQL и его модулей для PHP 5

Чтобы установить MySQL используйте любой метод для того, чтобы установить пакеты mysql-server libapache2-mod-auth-mysql php5-mysql.

PhpMyAdmin

Все задачи которые требуется выполнить при момощи MySQL можно делать используя графический интерфейс программ phpmyadmin.
Устанавливаем утилиту

sudo apt-get install phpmyadmin

При установке она запросит пароли которые были заданы при установке MySQL.

Зайти в него можно с адреса http://localhost/phpmyadmin/

При ошибке 404 внесите в файл /etc/apache2/apache2.conf строчку Include /etc/phpmyadmin/apache.conf

FAQ

Где лежат настройки Apache/PHP/MySQL?
ПутьОписание
/etc/mysql/my.cnfФайл настроек MySQL
/etc/apache2/apache2.confФайл настроек Apache 2
/etc/php5/apache2/php. iniФайл настроек PHP5
Как включить отображение ошибок PHP?

В используемом файле настроек php.ini, точное местоположение которого подскажет функция phpinfo() (для устанавливаемого по умолчанию Apache это /etc/php5/apache2/php.ini) за отображение ошибок отвечают следующие опции:

Ссылки

Установка apache2 + php + mysql + phpmyadmin на ubuntu 16.04

Решил поделиться с вами опытом установки софта на Ubuntu 16.04.

Напомню, все ниже описанные операции нужно выполнять под рутом (sudo su -).

обновляем софт

ставим Apache2

настроим Apache2

nano /etc/apache2/apache2.conf

## фиксим предупреждения при перезапуске Apache
ServerName localhost

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

## Устанавливаем кодировку UTF-8 по умолчанию
AddDefaultCharset UTF-8

nano /etc/apache2/apache2. conf

 

## фиксим предупреждения при перезапуске Apache

ServerName localhost

 

## Включаем интерпретацию php

AddType application / x-httpd-php .php .phtml

 

## Устанавливаем кодировку UTF-8 по умолчанию

AddDefaultCharset UTF-8

перезапускаем Apache

Открываем http://localhost/ и радуемся.

Настраиваем виртуальные хосты (VirtualHost)

(только для локальных хостов) создать файл vhosts.sh со следующим содержимым:

#!/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

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»

Даете права на выполнение:

chmod + x /var/www/vhosts.sh

chmod + x /var/www/vhosts.sh

Пример создания хоста:

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

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

Все последующие шаги по virtualhosts можно пропускать.

В /etc/hosts прописываем наши хосты: (nano /etc/hosts)

Переходим в папку /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

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

nano sites-available/mysite.conf

Пишем туда:

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

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

Данной записи достаточно, чтобы работал ваш локальный хост. Теперь нужно создать ссылку на него в sites-enabled.

Ошибки: если в вас возникает ошибка и вы не можете создать ссылку.  Тогда это сделать можно следующей записью:

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

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

Теперь нужно только перезагрузить настройки Apache2:

service apache2 reload
## или, если необходимо
service apache2 restart

service apache2 reload

## или, если необходимо

service apache2 restart

Итак, Apache2 работает, первый хост добавлен!

ставим MySQL

MySQL содержится в репозиториях Ubuntu. Он разбит на несколько пакетов.

Для того чтобы установить MySQL сервер выполните команду:

sudo apt-get install mysql-server

sudo apt-get install mysql-server

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

Ставим PHP 5.6

Сначала нужно удалить все старые версии, если есть

sudo apt-get purge `dpkg -l | grep php | awk ‘{print $ 2}’ | tr «\ n» «» `

sudo apt-get purge `dpkg -l |  grep php |  awk ‘{print $ 2}’ | tr «\ n» «» `

добавляем PPA

sudo add-apt-repository ppa:ondrej/php

sudo add-apt-repository ppa:ondrej/php

обновляемся

ставим php

sudo apt-get install php5.6

sudo apt-get install php5.6

дополнительные модули

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

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

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

apt-get install phpmyadmin

Конфигурируем его под себя, — обозначаем что юзает Apache2, указываем пароль к БД, и пароль к phpmyadmin

Ошибки: http://localhost/phpmyadmin not found ubuntu

решение:

nano /etc/apache2/apache2. conf
## добавляем в конец файла
Include /etc/phpmyadmin/apache.conf

nano /etc/apache2/apache2.conf

## добавляем в конец файла

Include /etc/phpmyadmin/apache.conf

Ошибки: http://localhost/phpmyadmin HTTP ERROR 500

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

sudo apt-get install php-mbstring php-gettext

sudo phpenmod mcrypt

sudo phpenmod mbstring

sudo service apache2 restart

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

Если возникли проблемы, обращайтесь к нам за помощью, [email protected]

Установка и настройка Apache, PHP, MySQL в Ubuntu. Часть 2

Итак, уважаемый читатель, сегодня мы займемся непосредственно установкой и настройкой Apache + PHP + MySQL в Ubuntu.

Первую часть с теоретическими основами можно найти здесь.

Установка Apache

В Терминале необходимо выполнить команду:

sudo apt-get install apache2 libapache-mod-auth-mysql

С предназначением команды sudo мы знакомились в первой части данного руководства.

Команда apt-get install запускает менеджер пакетов в режиме установки нового ПО.

Через пробел следуют названия устанавливаемого ПО: apache2 libapache-mod-auth-mysql — самого Apache и дополнительного модуля.

Вот и все, Apache установлен. За это я и люблю Ubuntu, не надо искать и скачивать дистрибутивы, процесс приятно автоматизирован.

Устанавливаем PHP

Все, что необходимо для работы PHP можно установить одной командой:

sudo apt-get install php5-common php5 libapache2-mod-php5 php5-cli php5-cgi php5-mysql

Устанавливаем MySQL

Команда для установки:

sudo apt-get install mysql-server mysql-client

После установки MySQL потребует задать пароль пользователя root для подключения к базам данных.

На этом установка всех необходимых компонентов закончена и мы переходим к настройке.

Настройка сервера

Для начала создадим каталог на жестком диске, где будут располагаться файлы сайтов. Например, пусть это будет папка /home/imya_polzovatelya/sites.

В директории sites я буду располагать поддиректории с файлами отдельных сайтов. Каждая поддиректория в sites будет представлять из себя хранилище файлов отдельного сайта.

В качестве примера настроим работу тестового сайта.

Для этого в каталоге sites я создаю каталог test, содержащий две поддиректории: logs — для хранения логов и www — для хранения файлов сайта.

Пару слов о том, что же такое логи. В ОС семейства Linux принято писать подробные и человекопонятные отчеты об ошибках. В случае возникновения непредвиденной ситуации Apache запишет в папку logs отчет из которого вы сможете понять, что именно пошло не так. Советую не забывать о полезности чтения логов.

На скрине представлен внешний вид замечательного файлового менеджера ОС семейства Linux под названием Midnight Commander. Запустить его можно набрав в терминале комаду mc.

Теперь в папке www свежесозданного хранилища файлов сайта test необходимо создать текстовый файл index.php. В Midnight Commander для создания текстового файла можно воспользоваться комбинацией клавиш Shift + F4.

В файле index.php, для проверки, напишем следующие сроки:

<p>Привет, Мир!</p>

<?php echo phpinfo() ?>

Первая строка приведенного выше кода выводит на экран статический текст Привет, Мир! Вторая строка предназначена для проверки работоспособности PHP: если все в порядке функция phpinfo() выведет таблицу с информацией о версии PHP, установленной на сервере.

Настройка Apache

При работе в операционной системе на базе Linux необходимо помнить о замечательной особенности: в Linux существует и свято соблюдается понятие прав доступа и дальнейшее повествования бессмысленно без рассмотрения этой важной темы.

Права доступа

У каталогов и файлов ОС, построенной на базе Linux, существует три степени доступа для трех категорий пользователей.

Сначала познакомимся с существующими категориями пользователей.

1. Категория владелец файла или каталога. В нашем случае, при создании каталога sites, test, www, logs и файла index.php, мы действовали от имени пользователя, под которым вошли в операционную систему.

Увидеть имя пользователя, под которым вы сейчас работаете, можно в окне Терминала.

На приведенном скриншоте имя пользователя olga.

Владельцем, созданных в сеансе активности пользователя olga каталогов и файлов, будет назначен пользователь olga.

Запустив файловый менеджер Midnight Commander в режиме суперпользователя командой sudo mc, вы получите доступ к работе со служебными файлами и каталогами. Однако, владельцем созданных файлов и каталогов в режиме суперпользователя будет назначен уже не пользователь olga, а суперпользователь root.

Работа в режиме суперпользователя идентифицируется знаком # в конце командной строки, в отличии от знака $ при работе в обычном режиме.

2. Следующая категория — группа владельца. Дело в том, что все пользователи ОС Linux распределены по группам. Рассматриваемая категория доступа относится к пользователям, входящим в туже группу, что и владелец.

3. Третья категория носит название все остальные. В данную категорию входят пользователи не попавшие в первую и вторую категории.

Для каждой из вышеописанных категорий пользователей может быть назначен свой уровень доступа к каталогам и файлам. Увидеть и отредактировать его можно, кликнув правой мышкой на папке или файле и выбрав пункт Свойства.

Но гораздо приятнее, лично для меня, воспользоваться Терминалом и посмотреть информацию о правах доступа посредством команды

ls -la put`_k_papke_ili_failu.

Выделенная на рисунке строка предоставляет полную информацию о правах доступа к папке test, которая расположена в каталоге /home/olga/sites/.

Расшифрую выделенную на скриншоте строку:

первая буква d информирует нам о том, что test — это директория;

rwxr-xr-x — обозначение степени доступа по три символа для каждой категории пользователей.

Теперь начинаем разбираться со степенями доступа.

В случае анализа прав доступа к директории первые три символа приведенной буквеннодефисной последовательности (rwx) характеризуют степень доступа категории владелец и означают следующее: категория владелец имеет право просматривать содержимое директории test (символ r), создавать новые файлы и подкаталоги в данной директории (w), переходить в директорию test (x).

В случае анализа прав доступа для файла: r — чтение файла, w — запись в файл, x — запуск файла.

Следующие три символа r-x характеризуют права одногруппников владельца на данную директорию. Символы r-x означают, что читать и переходить в данный каталог одногруппники владельца могут, но писать туда им запрещено, т. к. вместо w стоит прочерк.

Для всех остальных пользователей назначены точно такие же права, что и для одногруппников.

Теперь внимание! С данными файлами будет работать программа Apache. Возникает законный вопрос — от имени какого пользователя работает Apache и какие права нужно установить на файлы и директории сайта, чтобы было безопасно и все работало.

Ответ на этот вопрос можно найти в файле конфигурации Apache: /etc/apache2/apache2.conf. Параметры User и Group задают пользователя и группу, от имени которых будет действовать Apache.

Значение переменных ${APACHE_RUN_USER} и ${APACHE_RUN_GROUP} указаны в файле /etc/apache2/envvars:

Из скриншота видно, что Apache будет работать от имени пользователя www-data, состоящего в группе www-data.

Для нашего сайта test, владельцем папок и фалов которого является пользователь olga, www-data будет относится к третей категории пользователей, а именно все остальные.

Но позвольте, ведь частенько возникает необходимость давать полный доступ (rwx) пользователю, от имени которого работает Apache, к файлам и папкам сайта. А значит нам потребуется выдать полный доступ третей категории пользователей (всем подряд), чего делать совершенно не хочется из соображений безопасности.

Поэтому я предлагаю пойти другим путем. Добавим пользователя www-data к группе владельца файлов и папок сайта.

Для начала проверим, какая группа у владельца сайта. Воспользуемся командой ls -la:

Как видно из скриншота, группа владельца каталога с файлами сайта носит название olga.

Остается добавить пользователя www-data в группу olga. Сделать это можно командой:

sudo usermod -a -G olga www-data

Воспользуемся командой для просмотра групп пользователя, чтобы убедиться в успехе проделанной операции:

groups www-data

Теперь необходимо задать права для каталогов и файлов нашего сайта исходя из следующих соображений:

Владелец должен иметь возможность полного доступа к файлам и каталогам сайта (rwx). Действительно, мне же нужно создавать новые файлы сайта и редактировать существующие без всяких на то ограничений. Напомню, в ОС я работаю от имени пользователя olga.

Одногруппники, одним из которых является пользователь www-data, от чьего имени работает Apache, должны иметь возможность просматривать содержимое каталогов и файлов, а также запускать файлы (r-x). Однако, нужно иметь ввиду, что для некоторых папок сайта (например, тех куда Apache записывает новые файлы) требуются полные права (rwx).

Категории пользователей все остальные можно вообще не давать никаких прав (—).

Реализуем задуманное следующими командами:

sudo chmod -R 750 /home/olga/sites/

Данная команда дает полный доступ (rwx) для владельца директории sites (7), доступ на чтение и запуск (r-x) одногруппникам владельца (5) и запрещает доступ всем остальным (0 в конце).

Ключ -R говорит о том, что выполнить операцию смены прав доступа нужно рекурсивно, т. е. для всех файлов и подкаталогов внутри директории sites и для нее самой.

С правами доступа почти все 🙂

Займемся непосредственно настройкой Apache.

В Ubuntu существует некая особенность в настройке нового сайта. Конфигурационный файл для каждого из сайтов, запускаемых с нашего компьютера, должен быть свой. Хранятся они в папке /etc/apache2/sites-available.

Я предлагаю создать файл шаблонной конфигурации, на основе которого будут создаваться конфиги всех остальных сайтов (файл template на скриншоте выше).

Содержимое файла template описывает правила работы Apache с одним конкретным сайтов (в случае примера это сайт test):

<VirtualHost *:80>
ServerName test
# ServerAlias example.com
ServerAdmin [email protected]

DocumentRoot /home/olga/sites/test/www
<Directory /home/olga/sites/test/www>
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /home//olga/sites/test/logs/error. log

LogLevel warn

ServerSignature On

</VirtualHost>

В первой строке указывается доменное имя, по которому данный сайт будет доступен.

Вторая строка — это синоним доменного имени, по которому осуществляется доступ к этому же сайту. В моем случае она закомментирована символом # и в настройках не участвует.

Ниже указывается адрес эл. почты администратора.

Далее мы переходим к настройкам правил работы Apache с файлами сайта, расположенными в каталоге /home/olga/sites/test/www

Строка с директивами Options -Indexes FollowSymLinks MultiViews задает опции работы Apache с указанной директорией:

-Indexes — запрещает показ в бразуере содержимого каталогов в случае отсутствия запрашиваемого файла.

FollowSymLinks MultiViews — разрешения следовать по символическим ссылкам и разрешает поддержку многих языков (пусть будет, хуже не станет).

AllowOverride All разрешает использовать файлы дополнительной конфигурации . htaccess.

Следующий далее набор директив разрешает доступ к файлам сайта.

ErrorLog /home/olga/sites/test/logs/error.log — задает путь к файлу логов ошибок.

Более подробную информацию по директивам Apache можно получить здесь (англ.).

Скопируем содержимое файла шаблонной конфигурации и сохраним под именем нашего сайта, чтобы не путаться (в примере сайт называется test).

Для выполнения описанного действия удобно использовать Midnight Commander, запустив его в режиме суперпользователя, т. к. мы будем заниматься редактированием служебных файлов (команда sudo mc).

Копирование содержимого одного файла в другой осуществляется комбинацией клавиш Shif+F5.

Далее необходимо воспользоваться командой подключения файла конфигурации хоста test:

a2ensite test

Данная команда создаст ссылку на файл конфигурации

Кстати, отключить надоевший хост можно командой:

a2dissite test

Теперь нам осталось выполнить всего два действия:

Перезапустить Apache командой /etc/init. d/apache2 restart и добавить название нашего свежеиспеченного хоста в файл /etc/hosts и перенаправление на IP-адрес 127.0.0.1 (об этом мы подробно говорили в первой части руководства).

После перезапуска Apache в каталоге /home/olga/sites/test/logs/ создастся файл лога ошибок error.log. Владельцем данного файла будет являться суперпользователь root. Поэтому, чтобы у нас была возможность просматривать его содержимое нужно расширить права доступа третей категории пользователей разрешив им чтение данного файла (r—), ведь я работаю от имени пользователя olga и файлы пользователя root без соответствующего разрешения прочесть не смогу:

sudo chmod -R 774 /home/olga/sites/test/logs/error.log

774 – означает:

  • root может читать, писать и запускать;
  • одногруппники могут читать, писать и запускать;
  • все остальные – только читать.

Вот и все, теперь можно запускать браузер, вводить URL http://test и наблюдать содержимое файла index. php, обработанного Apache.

P.S.: для работы большинства современных сайтов требуется модуль mod_rewrite. По умолчанию он не подключен. Подключить его можно командой:

a2enmod rewrite

По аналогии можно подключить и другие недостающие модули.

С уважением, Андрей Морковин.

У поста есть спонсор (как им стать):

Спонсор предлагает услуги по автоматизации процессов предприятия. Здесь очень важно не промахнуться с выбором исполнителя. Ознакомьтесь с тем, что же такое автоматизация процессов предприятия по мнению спонсора статьи.

LAMP в Ubuntu: базовая установка и настройка компонентов веб-сервера.

Каждый начинающий веб-разработчик однажды сталкивается с необходимостью самостоятельно установить и настроить LAMP. Сегодня я расскажу, как это сделать.

Примечание.

Данная статья описана для Ubuntu 16.04 и выше.

Linux – здесь все понятно. Данная статья предполагает, что ваша операционная система уже установлена и настроена. В данной статье будет использоваться ОС Ubuntu 16.10.

Apache – собственно веб-сервер. Отвечает за получение и обработку запросов пользователей, но умеет гораздо больше.

MySQL – одна из самых распространенных систем управления базами данных. Строго говоря, вывести заветный «Hello World» с помощью PHP можно и без этого компонента. Тем не менее, он необходим как для популярных CMS вроде WordPress, Joomla и Drupal, так и для самописных систем.

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

Установить вышеперечисленный набор можно как с помощью графического интерфейса, так и через командную строку. Мы рассмотрим второй вариант, как более универсальный.

Обратите внимание:

в этой статье рассматривается установка и настройка сервера для локального использования. Подготовка площадки для размещения сайта, доступного извне, потребует более серьезной настройки.

Обновим список доступных пакетов:

После этого установим Apache:

sudo apt-get install apache2

Пакетный менеджер отыщет необходимые зависимости и попросит подтвердить согласие на установку. Вводим Y, жмем Enter, дожидаемся завершения установки.

Проверяем работу Apache, введя в адресной строке браузера следующий адрес:

http://localhost

Если вы увидите страницу, изображенную ниже – значит, сервер работает как надо.

При получении сообщения об ошибке не спешите расстраиваться, скорее всего, Apache не запустился автоматически. Сделайте это вручную:

sudo service apache start

После чего обновите страницу.

Устанавливаем сервер MySQL:

sudo apt-get install mysql-server

Снова подтверждаем согласие и через несколько секунд получаем предложение установить пароль.

Выполнив требуемое, дожидаемся окончания и вводим следующую команду:

Менеджер пакетов снова соберет список зависимостей, нам останется лишь согласиться.

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

sudo service mysql status

Нас интересует строка Active. Если она сообщает нам, что сервер активен, как на скриншоте, расположенном ниже – все прекрасно.

В противном случае выполним команду

Теперь можно устанавливать phpmyadmin:

sudo apt-get install phpmyadmin

В процессе установки нам предложат выбрать веб-сервер. В нашем случае это Apache. Для выбора нужного варианта используем стрелки на клавиатуре и пробел, а переключаться между элементами псевдографического интерфейса поможет Tab. Далее вводим пароль администратора баз данных и подтверждаем его.

После перезапускаем Apache командой:

sudo service apache2 restart

phpmyadmin будет доступен по адресу http://localhost/phpmyadmin

Вводим логин root и пароль, выбранный в процессе установки, после чего получаем доступ к управлению базами данных.

Корневым каталогом сервера является /var/www/html. Здесь находится тот самый документ, который мы видим, переходя по адресу http://localhost. Удаляем его и создаем файл index.php со следующим содержимым:

Сохраняем, снова переходим по тому же адресу и наблюдаем результат – страница с информацией о конфигурации PHP. Здесь можно найти сведения об установленных модулях, настройках и многом другом.

Мы можем разместить в каталоге /var/www/html свою папку и получить доступ к ее содержимому, прибавив к адресу слеш и ее название. Например, распаковав дистрибутив WordPress в /var/www/html/ мы найдем установочный скрипт по адресу:

http://localhost/wordpress/

После выполнения вышеуказанных действий сервер уже должен быть готов для локального использования. Конфигурационные файлы, созданные при установке, содержат наиболее разумные и подходящие большинству настройки. Но иногда их все же требуется изменить.

Основной конфигурационный файл Apache называется apache2.conf и находится в /etc/apache2. Перед каждой директивой в этом файле расположен комментарий, поясняющий ее суть. Строки, начинающиеся со знака «#», считаются комментариями и не влияют на работу сервера.

Основной конфигурационный файл PHP лежит в /etc/php/7.0/apache2 и называется php.ini. Здесь в качестве символа комментария используется «;». Не забудьте сделать резервные копии файлов перед тем, как вносить в них изменения. После правки и сохранения конфига сервер нужно перезапустить командой:

sudo service apache2 restart

В следующих статьях мы еще вернемся к конфигурационным файлам и настройке веб-сервера.

Там ваши вопросы не потеряются и вы быстрее получите ответ, в отличие от комментариев.

Как установить и настроить LAMP на Ubuntu 20.

04

В этом руководстве мы установим стек LAMP (Linux, Apache, MySQL, PHP) на Ubuntu 20.04 и настроим веб-сервер.

Установка Apache

Первый компонент вашего стека LAMP в Ubuntu 20.04 – Apache.

Начните с обновления списков пакетов и установки Apache. Нажмите y и ENTER, когда вас попросят продолжить. Команда: 


sudo apt update && sudo apt install apache2

Установка может занять несколько минут.

Настройка брандмауэра

Настоятельно рекомендуется настроить брандмауэр для обеспечения дополнительной безопасности вашего LAMP-стека в Ubuntu 20.04.

Мы начнем с добавления правила брандмауэра для SSH. Вы же не хотите получить блокировку при включении брандмауэра, когда настраиваете сервер удаленно? 

Сообщение об ошибке «ERROR: could find a profile matching openSSH» означает, что вы не настраиваете сервер удаленно. Можно игнорировать. 

Теперь мы можем добавить правила брандмауэра для Apache:


sudo ufw allow in "Apache Full"

Теперь включите брандмауэр:

Нажмите y, если вы видите сообщение «Command may disrupt existing ssh connections».

Если брандмауэр был активирован правильно, вы должны увидеть сообщение «Брандмауэр активен и включен при запуске системы»​.

Вы также можете проверить текущее состояние брандмауэра с помощью:

Ниже мы видим, что брандмауэр активен и имеет два правила для каждой службы. v6 это сокращение от IPv6.


Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Apache Full                ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Apache Full (v6)           ALLOW       Anywhere (v6)

Тестовый Apache

Чтобы узнать, правильно ли установлен Apache на Ubuntu 20.04, мы можем проверить текущее состояние службы:


sudo service apache2 status

Если он включен и работает, вы должны увидеть зеленое активное состояние.

Если вы получаете следующую ошибку о полном доменном имени, вы можете игнорировать ее:


apache2. service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2020-03-31 08:44:04 CEST; 15min ago
Main PID: 5727 (apache2)
Tasks: 55 (limit: 4915)
CGroup: /system.slice/apache2.service
├─5727 /usr/sbin/apache2 -k start
├─5728 /usr/sbin/apache2 -k start
└─5729 /usr/sbin/apache2 -k start

Mar 31 08:44:04 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Mar 31 08:44:04 ubuntu2004 apachectl[5675]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.
Mar 31 08:44:04 ubuntu2004 systemd[1]: Started The Apache HTTP Server.


Возможно, вам придется нажать кнопку q для выхода из проверки состояния сервера при использовании SSH-клиента.

Теперь, когда служба Apache запущена, вы имеете возможность просмотреть тестовую веб-страницу Apache через свой веб-браузер.

Введите IP-адрес вашего сервера в адресную строку и нажмите ENTER.

Все готово! Вы можете найти страницу приветствия Apache в папке /var/www/html. Чтобы отредактировать этот файл, необходимо ввести:


sudo nano /var/www/html/index.html

Нажмите CTRL+X, чтобы выйти из текстового редактора nano.

Если у вас есть доменное имя, вы можете указать его в IP-адресе вашего сервера без дальнейшей настройки, так как Apache должен загрузить эту страницу по умолчанию. Но если вы хотите разместить несколько доменов на своем сервере или настроить SSL-сертификаты с помощью Let’s Encrypt, вам следует настроить виртуальный хост (инструкция будет в конце этого руководства).

Установка MySQL

Следующий компонент вашего стека LAMP на Ubuntu 20.04 – MySQL.

Начните с обновления репозиториев и установки пакета MySQL. Нажмите y и ENTER при появлении запроса на установку.


sudo apt update && sudo apt install mysql-server

После завершения установки пакета мы можем проверить, работает ли служба MySQL:


sudo service mysql status

При запуске вы увидите зеленый активный статус:


mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2020-04-02 02:40:59 CEST; 2min 47s ago
   Main PID: 18476 (mysqld)
     Status: "Server is operational"
      Tasks: 27 (limit: 4915)
     CGroup: /system.slice/mysql.service
             └─18476 /usr/sbin/mysqld

Apr 02 02:40:59 ubuntu2004 systemd[1]: Starting MySQL Community Server...
Apr 02 02:40:59 ubuntu2004 systemd[1]: Started MySQL Community Server.

Возможно, вам придется нажать кнопку q, чтобы выйти из состояния службы, если вы используете SSH-клиент.

Настройка безопасности MySQL

Теперь вы должны запустить mysql_secure_installation, чтобы настроить безопасность для вашего сервера MySQL на Ubuntu 20.04.


sudo mysql_secure_installation

Компонент проверки пароля (необязательно)

Вас спросят, хотите ли вы настроить плагин проверки пароля. Если вы по какой-то причине не хотите применять строгую политику паролей, эта настройка не нужна.


Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No:

Нажмите ENTER, если не хотите настраивать плагин проверки пароля.

Создать пароль root

Если вы еще не создали пароль root для MySQL, вы должны создать его сейчас.


Please set the password for root here.

New password:

Re-enter new password:

Создайте надежный пароль и введите его. Обратите внимание, что при вводе паролей в Linux ничего не отображается (никаких звездочек или точек тоже не будет).

Удаление анонимных пользователей

Далее вам будет предложено удалить анонимных пользователей.


By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) :

Нажмите y и ENTER, чтобы удалить анонимных пользователей.

Отключить удаленный корневой вход в систему


Normally, root should only be allowed to connect from
'localhost'.  This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) :

Нажмите y и ENTER, чтобы удаленно запретить вход в систему root.

Удалить тестовую базу данных


By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :

Нажмите y и ENTER, чтобы удалить тестовую базу данных.

Перезагрузить таблицы привилегий


Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

Нажмите y и ENTER, чтобы перезагрузить таблицы привилегий.

Все готово! Основная настройка MySQL завершена. 

Тестовый сервис MySQL

Компонент MySQL вашего стека LAMP на Ubuntu 20.04 готов к работе.

Вы должны войти в систему сервера MySQL, чтобы убедиться, что она работает правильно. Поскольку вы запускаете эту команду как sudo, она автоматически войдет в MySQL, используя корневую учетную запись. Если вам будет предложено ввести пароль, введите пароль своей учетной записи Linux, а не MySQL.

Вы увидите подобную информацию:


Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, 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.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 

mysql>

Чтобы выйти из MySQL, введите exit и нажмите ENTER.

Вы успешно установили и настроили MySQL для вашего стека-«фонаря»​ на Ubuntu 20.04!

Установка PHP

Последним компонентом вашего стека LAMP на Ubuntu 20.04 является PHP.

Начните с обновления репозитория и установки пакета PHP. Мы также установим пакеты libapache2-mod-php и php-mysql, которые позволят PHP взаимодействовать с базой данных MySQL.

Нажмите y и ENTER при появлении запроса на установку пакета PHP.


sudo apt update && sudo apt install php libapache2-mod-php php-mysql

Тест PHP в командной строке

После завершения установки пакета мы можем протестировать PHP в командной строке.

Если PHP установлен правильно, вы должны увидеть нечто подобное:


PHP 7.4.3 (cli) (built: Mar 26 2020 20:24:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3. 4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

Видите? Тогда все отлично!

Тест PHP для Apache

Теперь давайте протестируем PHP для Apache.

Создайте новый файл с именем info.php в корневом каталоге документа.


sudo nano /var/www/html/info.php

После открытия редактора nano введите следующий PHP-код:


/var/www/html / info.РНР

<?php
phpinfo();

Нужно сохранить и выйти из документа (нажмите CTRL+XY и затем ENTER).

Теперь мы можем загрузить этот файл в браузере, перейдя по http://your_ip/info.php или http://example.com/info.php.

Ниже мы видим, что страница info.php работает правильно.

После того как вы подтвердили, что PHP работает правильно, важно удалить info.php, поскольку он содержит информацию, которая может быть полезна хакерам.


sudo rm /var/www/html/info.php

Если вы планируете загружать файлы размером более 2 Мб через WordPress или аналогичный движок, нужно будет изменить файл конфигурации PHP и установить максимальный размер загрузки. 

Установка стека LAMP на Ubuntu 20.04 завершена! Если вы хотите настроить виртуальные хосты или дополнительную конфигурацию для Apache, читайте далее.

Мало кто знает, но LAMP на VDS можно установить автоматически. Такую услугу предоставляет хостинг-провайдер Timeweb. Все просто:


  1. Выберите тариф VDS.
  2. Оплатите его.
  3. При настройке сервера отметьте Ubuntu 20.04 и стек LAMP.

Через пару минут ваш сервер будет полностью готов к работе! 

Настройка виртуального узла (необязательно)

Если вы хотите разместить несколько доменов на своем ламповом сервере Ubuntu 20.04 или настроить SSL-сертификаты с помощью Let’s Encrypt, вам понадобится виртуальный хост.

Если у вас пока нет доменного имени, вы можете обмануть свою ОС (Linux/Mac/Windows), чтобы разрешить перенаправление домена на IP-адрес вашего сервера с Ubuntu 20.04. Подробнее об этом поговорим далее

Создать каталог и index.html

Создайте новый каталог /var/www/ для вашего домена (замените mydomain.com на собственный).


sudo mkdir -p /var/www/mydomain.com/public_html

Создайте index.html файл для тестирования:


sudo nano /var/www/mydomain.com/public_html/index.html

Введите следующее:


<html>
   <head>
     <title>Welcome!</title>
   </head>
   <body>
      <h2>Welcome to mydomain.com!</h3>
   </body>
</html>

Сохраняем изменения и выходим (нажмите CTRL+X, Y и затем ENTER).

Создание виртуального хоста

Чтобы создать файл конфигурации виртуального хоста, замените mydomain. com на собственный домен.


sudo nano /etc/apache2/sites-available/mydomain.com.conf

Введите замену mydomain.com:


<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/mydomain.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Сохраняем и выходим (CTRL+X, Y и ENTER)

Проверим наличие ошибок:

Вы можете игнорировать любую ошибку, в которой присутствует подобное сообщение: «Не удалось надежно определить полное доменное имя сервера»​.

Включите замену виртуального хоста mydomain.com (снова нужно указать собственный домен):


sudo a2ensite mydomain.com.conf

Отключите Apache по умолчанию, иначе он переопределит ваш виртуальный хост:


sudo a2dissite 000-default

Далее надо перезапустить Apache.


sudo systemctl reload apache2

Тестовый виртуальный хост

Если у вас нет зарегистрированного доменного имени, вы можете перейти к следующему шагу, чтобы обмануть ОС и перенаправить любой URL на ваш сервер.

Теперь вам нужно перейти в настройки DNS вашего регистратора домена и указать А-запись для домена на IP-адрес вашего сервера Ubuntu 20.04 с LAMP. Как только запись станет активной (обычно это занимает от 24 до 48 часов), вы сможете увидеть тестовую страницу в браузере.

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

Редактировать файл hosts (необязательно)

Если у вас нет ни одного зарегистрированного домена и вы просто хотите загрузить mydomain.com (или другой адрес) в вашем браузере в качестве теста, можно отредактировать файл hosts в операционной системе, чтобы перенаправить этот домен на ваш сервер Ubuntu 20.04 с LAMP.

Чтобы отредактировать файл hosts в Linux или Mac, запустите sudo nano /etc/hosts в терминале.  Как только файлы hosts будут открыты, введите IP-адрес вашего сервера Ubuntu 20.04, а затем доменное имя, которое вы хотите разрешить для этого IP.

Замените x.x.x.x на IP-адрес вашего веб-сервера.

Узнать IP-адрес вашего сервера можно с помощью команды:


ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

После сохранения файла hosts в браузере откроется доступ к вашему серверу по адресу mydomain.com (или иному URL).

Настройка Apache (необязательно)

Теперь, когда у вас есть Apache, обслуживающий веб-страницы на вашем Ubuntu 20.04, могут потребоваться дополнительные настройки конфигурации. 

Отключить список каталогов и включить AllowOverride

Apache по умолчанию будет перечислять содержимое ваших каталогов без индексов (index.html, index.РНР). Это угроза безопасности, поскольку она позволяет хакерам просматривать ваш веб-сервер в поисках сценариев.

Вы также обнаружите, что . htaccess по умолчанию в Apache будет игнорироваться. Если понадобится .htaccess, вы можете включить его, изменив файл конфигурации Apache.

Откройте файл конфигурации:


sudo nano /etc/apache2/apache2.conf

Нажмите CTRL + W и найдите <Directory /var/www/>.

Блок должен выглядеть примерно так:


<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Удалите Indexes, чтобы остановить список каталогов Apache, и измените AllowOverride None на AllowOverride All, чтобы включить .htaccess. Теперь это должно выглядеть так:


<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Сохраняем и выходим (CTRL+X, Y, ENTER).

Далее перезапускаем Apache.


sudo systemctl restart apache2

Включить mod_rewrite

Если вы хотите настроить некоторые правила .htaccess, вам, скорее всего, придется включить mod_rewrite.

Далее нужно перезапустить Apache.


sudo systemctl restart apache2

На этом полная установка и настройка стека LAMP завершена.

В скором времени ждите материал по установке phpMyAdmin. Всех с наступающим!

Apache + PHP 5.6 — 7.2 + MySQL + PHPStorm + XDebug. Установка, настройка Ubuntu 18.04 based.

Всем привет. Решил написать общую инструкцию по настройке веб окружения для разработки с поправкой на теккщую LTS версию Ubuntu 18.04.
Инструкция полностью совместима со всеми Ubuntu Based дистрибутивами, такими как:  Mint, Elementary, KDE Neon, Zorin 15, Pop_OS!, Linux Lite и прочие, которые основаны на пакетной базе Ubuntu 18.04 LTS (на момент написания инструкции уже была 18. 04.3)

Установка Apache.

Апач устанавливается достаточно просто.  Пишем в терминале команду

Ожидаем окончания. Все, Apache  установлен. Проверяем установку командой в терминале apache2 -v. Видим примерно следующий вывод

[email protected]:~$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-09-16T12:58:48

Переходим по ссыке http://localhost/  видим следующее:

 

Установка MySQL.

MySQL сервер в Ubuntu 18.04 LTS устанавливется так же просто как и Apache2. Пишем в терминале команду:

sudo apt install mysql-server

Все, MySQL сервер установлен.   Проверяем установку командой в терминале mysql —version. Видим примерно следующий вывод:

[email protected]:~$ mysql --version
mysql  Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using  EditLine wrapper

 

Установка PHP 5.6 / 7.1 / 7.2 / 7.3 / 7.4

Доставляем необходимые библиотеки. Зависит от сборки которая основана на Ubuntu 18.04. Выполняем следующие команды в терминале:

sudo apt install libapache2-mod-fcgid
sudo apt install software-properties-common

Добавляем ppa:ondrej/php

sudo add-apt-repository ppa:ondrej/php && sudo apt update

Устанавливаем PHP c требуемыми модулями:
PHP 5. 6

sudo apt install php5.6 php5.6-fpm php5.6-common php5.6-cli php5.6-opcache php5.6-gd php5.6-mysql php5.6-curl php5.6-intl php5.6-xsl php5.6-mbstring php5.6-zip php5.6-bcmath php5.6-soap php5.6-mcrypt

PHP 7.1

sudo apt install php7.1 php7.1-fpm php7.1-common php7.1-cli php7.1-opcache php7.1-gd php7.1-mysql php7.1-curl php7.1-intl php7.1-xsl php7.1-mbstring php7.1-zip php7. 1-bcmath php7.1-soap php7.1-mcrypt

 PHP 7.2

sudo apt install php7.2 php7.2-fpm php7.2-common php7.2-cli php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

PHP 7.3

sudo apt install php7.3 php7.3-fpm php7.3-common php7.3-cli php7.3-opcache php7.3-gd php7.3-mysql php7.3-curl php7. 3-intl php7.3-xsl php7.3-mbstring php7.3-zip php7.3-bcmath php7.3-soap

 PHP 7.4

sudo apt install php7.4 php7.4-fpm php7.4-common php7.4-cli php7.4-opcache php7.4-gd php7.4-mysql php7.4-curl php7.4-intl php7.4-xsl php7.4-mbstring php7.4-zip php7.4-bcmath php7.4-soap

 Теперь проверяем установку каждой из версий PHP следующими командами:

php5.6 -v
php7. 1 -v
php7.2 -v
php7.3 -v
php7.4 -v

Соответственно вы уже можете запускать скрипты в CLI от имени каждой из установленых версий.  Например php5.6 -f /path/to/php/file.php

 

Установка PHPSTORM крайней версии.

Переходим по ссылке и загружаем  крайнюю верси PHPStorm в домашнюю папку своего пользователя Скачать PHPStorm
Распаковываем архив.

Переименовываем архив для более удобной работы (без указания версии)

В терминале переходим в домашнюю папку пользователя командой, где your-user  имя вашего пользователя в системе

Даем права на выполнение исполняемому файлу PHPStorm

sudo chmod +x phpstorm/bin/phpstorm.sh

Запускаем установку PHPStorm

. /phpstorm/bin/phpstorm.sh

Следуем инструкциям установщика. После успешной установки видим окно PHPStorm

Установка Xdebug.

Xdebug пакет для Ubuntu  c недавнего времени был унифицирован и теперь является общим для всех поддерживаемых на текущим момент версий PHP. Установка проводится командой:

sudo apt install php-xdebug

 

Как установить Apache, MySQL и PHP (LAMP) на Ubuntu — flops.ru

Что такое LAMP?

LAMP — акроним, обозначающий группу программного обеспечения с открытым кодом для запуска веб-сервисов. Входящие в состав компоненты: Linux, Apache, MySQL, и PHP. Когда Ubuntu уже запущена на сервере, остается установить остальные компоненты, кроме Linux.

Настройка

Все изложенные ниже шаги должны выполняться от пользователя, имеющего привилегии root на вашем виртуальном сервере.

Шаг 1 — Установка Apache.

Apache это бесплатное приложение с открытым кодом, которое используют более 50% веб-серверов в мире.
Для установки apache, напишите в терминале:

sudo apt-get update
sudo apt-get install apache2

Вот и все. Для того, чтобы проверить, что Apache установлен, введите в адресную строку вашего браузера IP адрес вашего сервера (пример http://127.0.0.10). На странице должны появиться слова “It works!».

Шаг 2 — Установка MySQL

MySQL является мощной системой управления базами данных и используется для индексирования и поиска данных.

Для установки MySQL откройте терминал и напечатайте эти команды:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

Во время установки MySQL попросит вас установить пароль root для управления БД.

Шаг 3 — Установка PHP

PHP — это скриптовый язык программирования, интенсивно применяемый для разработки веб-приложений.
Для установки PHP откройте терминал и наберите:

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

PHP также имеет множество полезных библиотек и модулей, которые можно добавить на ваш виртуальный сервер. Вы можете увидеть доступные библиотеки.

apt-cache search php5-

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

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
php5-sqlite - SQLite module for php5
php5-tidy - tidy module for php5
php5-xmlrpc - XML-RPC module for php5
php5-xsl - XSL module for php5
php5-adodb - Extension optimising the ADOdb database abstraction library
php5-auth-pam - A PHP5 extension for PAM authentication
[. ..]

Когда вы решите установить модуль, наберите:

sudo apt-get install name of the module

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

Включение модуля может быть произведено командой

a2enmod <modulename>

Поздравляем! Теперь у вас установлен LAMP stack!

Установите Apache 2 за четыре шага!

Время чтения: 2 минуты Apache — это самое популярное программное обеспечение для веб-серверов, которое используется сегодня. Его популярность достигается за счет стабильности, скорости и безопасности. Скорее всего, если вы создаете веб-сайт или какое-либо общедоступное приложение, вы будете использовать Apache для его отображения. На момент написания этой статьи самым последним предложением Apache было 2.4.39, и именно эту версию мы будем использовать для установки на наш VPS-сервер Ubuntu. Давайте начнем!

Шаг 1: Обновите и обновите инструмент apt, чтобы убедиться, что мы работаем с последними и лучшими. sudo apt update && обновление
Шаг 2: Установите Apache и при появлении запроса выберите Y .
sudo apt установить apache2
Шаг 3: Теперь, когда мы установили Apache, нам нужно запустить службу.
systemctl start apache2
Шаг 4: Включение Apache автоматически запускает веб-сервер при каждом включении сервера.
systemctl включить apache2
Проверьте Apache, посетив IP-адрес или имя хоста сервера; вы увидите страницу Apache по умолчанию.

Необязательно: установите и включите PHP

В зависимости от ваших потребностей, скажем, на веб-сайте с кодом PHP, вы также можете установить и включить PHP.
apt install php libapache2-mod-php php-mysql Оповещение о спойлере, Ubuntu 18.04 по умолчанию — PHP 7.2, последняя и самая лучшая. Вы увидите это значение, когда используете:
php --version Вывод:
PHP 7.2.15-0ubuntu0. 18.04.2 (cli) (построено: 22 марта 2019 17:05:14) (NTS)
Авторские права (c) 1997-2018 Группа PHP
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
с Zend OPcache v7.2.15-0ubuntu0.18.04.2, Copyright (c) 1999-2018, Zend Technologies

Где файлы конфигурации Apache?

Итак, что дальше? Как указывалось ранее, Apache может быть предпосылкой для других приложений или может быть местом, откуда вы обслуживаете свои веб-сайты. Некоторые важные файлы находятся на странице Apache по умолчанию; Вот небольшой фрагмент этих местоположений файлов:

Есть несколько способов настроить Apache в соответствии с вашими потребностями.Как клиент Liquid Web, вы получите поддержку 24/7/365, а также квалифицированные технические специалисты всегда готовы ответить на любые ваши вопросы! Узнайте, что мы можем для вас сделать!

Как установить PHP в Ubuntu 18.04

В этом руководстве мы рассмотрим шаги, необходимые для установки PHP 7.2 по умолчанию в дистрибутиве в Ubuntu 18. 04 и интеграции его с Nginx и Apache. Мы также покажем вам, как установить PHP 7.1 и 7.3.

Большинство популярных фреймворков и приложений PHP, включая WordPress, Laravel, Drupal и Nextcloud, совместимы с PHP 7.2.

Предварительные требования #

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

Установка PHP 7.2 с Apache #

Если вы используете Apache в качестве веб-сервера для установки PHP и модуля Apache PHP, выполните следующую команду:

  sudo apt install php libapache2-mod-php  

После того, как пакеты будут установлен перезапустить службу Apache:

  sudo systemctl restart apache2  

Установка PHP 7.2 с Nginx #

В отличие от Apache, Nginx не имеет встроенной поддержки для обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM («менеджер процессов fastCGI»), которое будет обрабатывать файлы PHP.

Для установки пакетов PHP и PHP FPM выполните следующую команду:

  sudo apt install php-fpm  

После установки пакетов вы можете проверить статус службы PHP FPM с помощью:

  systemctl status php7 .2-fpm  
  * php7.2-fpm.service - Менеджер процессов PHP 7.2 FastCGI
   Загружено: загружено (/lib/systemd/system/php7.2-fpm.service; включено; предустановка поставщика: включено)
   Активен: активен (работает) с Сб 2018-06-30 23:56:14 PDT; 1мин 28с назад
     Документы: man: php-fpm7.2 (8)
 Основной PID: 10080 (php-fpm7.2)
   Статус: «Активные процессы: 0, бездействие: 2, Запросы: 0, медленные: 0, Трафик: 0 запросов / сек»
    Задач: 3 (лимит: 2321)
   CGroup: /system.slice/php7.2-fpm.service
           | -10080 php-fpm: главный процесс (/etc/php/7.2/fpm/php-fpm.conf)
  

Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

  server {

    #.  . . другой код

    расположение ~ \ .php $ {
        включить сниппеты / fastcgi-php.conf;
        fastcgi_pass unix: /run/php/php7.2-fpm.sock;
    }
}  

Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:

  sudo systemctl restart nginx  

Установка расширений PHP #

Для расширения основных функций PHP вы можете установить некоторые дополнительные расширения.Расширения PHP доступны в виде пакетов и могут быть легко установлены с помощью:

  sudo apt install php- [extname]  

Например, если вы хотите установить расширения MySQL и GD PHP, вы должны выполнить следующую команду:

  sudo apt install php-mysql php-gd  

После установки нового расширения PHP не забудьте перезапустить Apache или службу PHP FPM, в зависимости от ваших настроек.

Тестирование обработки PHP #

Чтобы проверить, правильно ли настроен ваш веб-сервер для обработки PHP, создайте новый файл с именем info. php в каталоге / var / www / html со следующим кодом:

/var/www/html/info.php

Сохраните файл, откройте нужный браузер и посетите http: // your_server_ip / info .php

Функция phpinfo распечатает информацию о вашей конфигурации PHP, как показано на изображении ниже:

Установка PHP 7.3 в Ubuntu 18.04 #

PHP 7.3 — это последняя стабильная версия PHP. Выполните следующие шаги, чтобы установить PHP 7.3 в Ubuntu 18.04.

  1. Начните с включения репозитория Ondrej PHP:

      sudo apt install software-properties-common   sudo add-apt-repository ppa: ondrej / php  
  2. Установите PHP 7.3 и некоторые из наиболее распространенных Модули PHP:

      sudo apt install php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql  
  3. Чтобы проверить установки, выполните следующую команду, которая распечатает версию PHP:

      php -v  
      PHP 7. 3.1-1 + ubuntu18.04.1 + deb.sury.org + 1 (cli) (построено: 13 января 2019 г., 10:19:33) (NTS)
    Авторские права (c) 1997-2018 Группа PHP
    Zend Engine v3.3.1, Авторское право (c) 1998-2018 Zend Technologies
        с Zend OPcache v7.3.1-1 + ubuntu18.04.1 + deb.sury.org + 1, Copyright (c) 1999-2018, Zend Technologies  

Установка PHP 7.1 на Ubuntu 18.04 #

Используйте только PHP 7.1 если вы собираетесь устанавливать приложения, несовместимые с PHP 7.2.

Выполните следующие действия, чтобы установить PHP 7.1:

  1. Включите репозиторий Ondrej PHP, набрав:

      sudo apt install software-properties-common   sudo add-apt-repository ppa: ondrej / php  
  2. Установите PHP 7.1 и несколько наиболее распространенных Модули PHP:

      sudo apt install php7.1 php7.1-common php7.1-opcache php7.1-mcrypt php7.1-cli php7.1-gd php7.1-curl php7.1-mysql  
  3. Проверьте установку, набрав:

      php -v  
      PHP 7. 1.20-1 + ubuntu18.04.1 + deb.sury.org + 1 (cli) (построено: 25 июля 2018 10:07:09) (NTS)
    Авторские права (c) 1997-2018 Группа PHP
    Zend Engine v3.1.0, Авторское право (c) 1998-2018 Zend Technologies
      с Zend OPcache v7.1.20-1 + ubuntu18.04.1 + deb.sury.org + 1, Copyright (c) 1999-2018, Zend Technologies  

Заключение #

Вы успешно установили PHP на свой Ubuntu 18.04 сервер. Вы также можете прочитать о том, как установить и настроить проект PHP с помощью Composer.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как установить PHP в Ubuntu 20.04

PHP — один из наиболее часто используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.

В этом руководстве описаны шаги, необходимые для установки PHP в Ubuntu 20.04 и его интеграции с Nginx и Apache.

На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7. 4. Мы также покажем вам, как установить предыдущие версии PHP. Прежде чем выбирать версию PHP для установки, убедитесь, что ваши приложения ее поддерживают.

Установка PHP 7.4 с Apache #

Если вы используете Apache в качестве веб-сервера, выполните следующие команды для установки PHP и модуля Apache PHP:

  sudo apt update   sudo apt install php libapache2-mod-php  

После установки пакетов перезапустите Apache для загрузки модуля PHP:

  sudo systemctl restart apache2  

Установка PHP 7.4 с Nginx #

В отличие от Apache, Nginx не имеет встроенной поддержки для обработка файлов PHP.Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.

Выполните следующие команды для установки пакетов PHP и PHP FPM:

  sudo apt update   sudo apt install php-fpm  

После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите

  systemctl status php7.4-fpm  
  ● php7.4-fpm.service - Менеджер процессов FastCGI PHP 7.4.
     Загружено: загружено (/ lib / systemd / system / php7.4-фпм. Сервис; включено; предустановка поставщика: включена)
     Активен: активен (работает) с Вт 2020-06-09 19:07:05 UTC; 37с назад
  

Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:

  server {

    #. . . другой код

    расположение ~ \ .php $ {
        включить сниппеты / fastcgi-php.conf;
        fastcgi_pass unix: /run/php/php7.4-fpm.sock;
    }
}  

Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:

  sudo systemctl restart nginx  

Установка расширений PHP #

Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :

  sudo apt install php- [extname]  

Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:

  sudo apt install php-mysql php-gd  

После установки нового расширения PHP, в зависимости от ваших настроек, не забудьте перезапустить Apache или службу PHP FPM.

Тестирование обработки PHP #

Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога / var / www / html со следующим кодом:

/var/www/html/info.php

Сохраните файл, откройте браузер и посетите: http: // your_server_ip / info.php .

Вы увидите информацию о конфигурации PHP, как показано на изображении ниже:

Установка предыдущих версий PHP #

Ондржей Сури, разработчик Debian, поддерживает репозиторий, который включает несколько версий PHP. Чтобы включить репозиторий, запустите:

  sudo apt install software-properties-common   sudo add-apt-repository ppa: ondrej / php  

Теперь вы можете установить любую версию PHP, которая вам нужна, добавив номер версии в имя пакета:

  sudo apt install php [версия]  

Например, для установки PHP 7.1 и несколько общих модулей PHP, вы должны запустить:

  sudo apt install php7.1 php7.1-common php7.1-opcache php7.1-mcrypt php7.1-cli php7.1-gd php7.1-curl php7.1-mysql  

Заключение #

Установка PHP на сервер Ubuntu 20.04 — простая задача. Все, что вам нужно сделать, это установить пакет с apt .

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Как установить Apache, PHP 7 и MySQL в Ubuntu с помощью Vagrant

Чтобы запустить сервер локально, нам нужно настроить среду для стека или сервера, базы данных и языка для запуска. Для новичков простой способ сделать это — установить MAMP на Mac или Windows, который настроит среду за вас.

По мере того, как вы становитесь более продвинутым разработчиком, вам может потребоваться создать локальную среду, более точно соответствующую вашему производственному серверу. Если вы работаете локально в Windows или Mac, и ваш сервер находится в дистрибутиве Linux, вы можете столкнуться с ошибками и ошибками, специфичными для операционной системы, на которой работает сервер, и вы не сможете их устранить должным образом.

К счастью, у нас есть такие инструменты, как Vagrant и VirtualBox, которые позволяют нам настраивать виртуальную машину локально, которая может соответствовать производственной среде. В этом руководстве мы возьмем операционную систему Ubuntu Server, настроенную на Vagrant, и установим на нее стек LAMP.

Предварительные требования

Перед чтением этого руководства необходимо выполнить два предварительных условия.

Голы

В этом уроке мы собираемся выполнить следующее:

  • Установить LAMP (Apache, PHP 7. 1, MySQL) на виртуальной машине Ubuntu Server 14.04
  • Просмотр сервера в браузере по IP-адресу и пользовательскому доменному имени
  • Свяжите локальные файлы с виртуальной машиной, чтобы иметь возможность работать в среде Vagrant с локального компьютера
  • Подключиться к MySQL через SequelPro (или любую программу базы данных)

Шаг 1. Установите Apache

В примерах в этой статье используется суффикс .dev для пользовательских доменов. Этот суффикс больше не разрешен.В этой статье вы можете использовать .test вместо .dev .

Мы начинаем эту статью с того места, где закончилась последняя — с настроенной новой виртуальной машины Ubuntu. Перейдите в каталог, в котором настроена ваша Ubuntu, и ssh в машину.

apt-get — это программа командной строки для установки пакетов в Ubuntu. Давайте запустим команды для update и upgrade диспетчера пакетов и убедимся, что все обновлено.

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

Теперь мы собираемся установить последнюю версию Apache, которая на момент написания — 2.4.7.

  sudo apt-get install apache2 -y  

После установки вы получите это предупреждение.

  AH00558: apache2: не удалось надежно определить сервер
полное доменное имя с использованием 10.0.2.15. Установите 'ServerName'
глобальная директива для подавления этого сообщения  

Легко фиксируется.Мы просто собираемся установить ServerName на localhost . Используйте nano (или vi , или что угодно, что вам удобно) для редактирования файла конфигурации apache2.

  судо нано /etc/apache2/apache2.conf  

Если вы не знакомы с nano или редактированием файлов через Терминал, просмотрите статью о командной строке.

Перейдите до конца файла и вставьте эту строку внизу.

Сохраните и закройте nano (cntl + o, cntl + x), затем перезапустите Apache, чтобы применить изменения.

  sudo service apache2 перезапуск  
  * Перезапуск веб-сервера apache2 [OK]  

Вы можете проверить правильность ServerName с помощью следующей команды.

  sudo apache2ctl configtest  

Мне всегда нравится проверять номер версии, чтобы узнать, что именно у меня запущено.

  Версия сервера: Apache / 2.4.7 (Ubuntu)
Сервер построен: 26 июня 2017 г.  

Отлично, Apache настроен и работает правильно! Но теперь нам нужно подтверждение этому.

Шаг 2. Сопоставьте локальный домен с IP и просмотрите сервер

Теперь, обычно, когда вы настраиваете рабочий сервер, вы можете перейти к IP-адресу или доменному имени сервера в вашем браузере и увидеть либо страницу «Новая установка Linux», либо ваш веб-сайт, если вы уже добавили его. . Мы собираемся сделать то же самое прямо сейчас, за исключением того, что вместо подключения к общедоступному серверу мы подключаемся к нашей собственной локальной виртуальной машине.

Я запускаю свою виртуальную машину в следующем каталоге.

  / Пользователи / taniarascia / Dev / VirtualMachines / ubuntu  

В этом каталоге вы увидите два файла — .vagrant и Vagrantfile . Откройте свой Vagrantfile , так как это локальный файл конфигурации, который нам нужно отредактировать, чтобы внести какие-либо изменения.

Найдите строку конфигурации «private_network», которая должна выглядеть так.

И раскомментируйте.

  config.vm.network "private_network", ip: "192.168.33.10"  

Перезагрузите Ubuntu, чтобы изменения Vagrantfile вступили в силу. Выполните команду reload из терминала локального компьютера.

Мы собираемся создать личный домен для доступа к этому адресу и просмотра его в нашем браузере. Все еще находясь на локальном компьютере, отредактируйте локальный файл hosts .

Добавьте новый домен в конец с предоставленным нам IP-адресом.Я называю его trusty.dev .

Сохраните и выйдите из nano . Теперь в Google Chrome или другом браузере перейдите по адресу trusty.dev . Теперь вы должны увидеть страницу успеха Linux по умолчанию. Работает!

Теперь вы также можете перейти к 192.168.33.10 в браузере, и он также будет работать.

Шаг 3 — Установите PHP 7.1

На этом этапе мы собираемся установить PHP 7.1. Начиная с 7.1 является новым и современным, его нет в обычном репозитории apt . Мы собираемся использовать PPA (Personal Package Archive) для установки этого нестандартного программного обеспечения.

Добавьте PPA Onrej к своей машине.

  sudo apt-add-репозиторий ppa: ondrej / php  

Обновите apt-get с программным обеспечением из нового репозитория.

Теперь вы можете установить PHP 7.1.

  sudo apt-get install php7.1  

Подтвердите успешную установку PHP, проверив версию.

  PHP 7.1.6-2 ~ ubuntu14.04.1 + deb.sury.org + 1 (cli) (построено: 14 июня 2017 г.) (NTS)
Авторские права (c) 1997-2017 PHP Group
Zend Engine v3.1.0, Авторское право (c) 1998-2017 Zend Technologies
с Zend OPcache v7.1.6-2 ~ ubuntu14.04.1 + deb.sury.org + 1, Copyright (c) 1999-2017, Zend Technologies  

Шаг 4. Свяжите локальную папку с виртуальной машиной

Хорошо, использование nano или vi для редактирования файлов станет утомительным. Я хочу иметь возможность редактировать файлы на виртуальной машине, не выходя из среды моего собственного компьютера (в настоящее время использую Visual Studio Code в качестве текстового редактора).

Для этого нам нужно связать папку на нашем локальном компьютере с папкой на виртуальной машине.

Прямо сейчас стандартная страница Ubuntu существует в / var / www / html , общедоступной папке на сервере Apache. Вернувшись на наш локальный компьютер (Windows или Mac), давайте создадим папку www в корневом каталоге и создадим два файла: connect.php и test.php , которые мы будем использовать для тестирования MySQL и PHP. в настоящее время.

Вот как должна быть настроена наша локальная структура каталогов:

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

  config.vm.synced_folder "LOCAL", "VIRTUAL"  

Мы установим папку www , которую мы только что создали, как локальную папку и каталог общедоступного сервера для Ubuntu.

  config.vm.synced_folder "www /", "/ var / www / html"  

Теперь vagrant reload или vagrant halt и vagrant up для перезапуска Ubuntu. Теперь, когда вы зайдете на свой сервер, вы должны это увидеть.

Успех! Ваша локальная папка теперь синхронизирована с сервером Ubuntu, и каждое внесенное вами изменение будет отражаться на сервере.

Шаг 5 — Установите MySQL

Наконец, мы собираемся установить MySQL для доступа к базе данных.

Установка в Ubuntu

  sudo apt-get install mysql-server php7.1-mysql  

Вы также можете настроить безопасную установку mysql.Следуйте инструкциям на странице. Поскольку мы делаем локальную среду, она не должна быть такой же безопасной, как производственная среда. Вы можете оставить порты открытыми, чтобы мы могли получить к ним доступ позже.

  sudo mysql_secure_installation  

Насколько я могу судить, это ложь. Когда дошло до этого момента, я просто ввел в качестве пароля «root».

Я нашел здесь несколько хороших советов по настройке MySQL с помощью Vagrant. Отредактируйте файл конфигурации MySQL.

  Судо нано /etc/mysql/my.cnf  

Найдите skip-external-lock и bind-address и закомментируйте их.

После этого я перезапускаю Apache и MySQL.

  sudo service apache2 перезапуск  
  sudo service mysql перезапуск  

На этом этапе вы должны иметь возможность войти в MySQL с правами root, используя пароль root.

Я обнаружил, что самый простой способ настроить MySQL, чтобы разрешить вход через SequelPro или другое третье лицо, — это создать нового пользователя.У меня возникли проблемы с подключением к root, и я нашел некоторые решения в Stack Overflow.

В командной строке mysql создайте нового пользователя и пароль. Я буквально использовал «пользователь» и «пароль» для этих полей.

  СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'user' @ '%' ИДЕНТИФИЦИРОВАНО 'паролем';  

Новому пользователю предоставлены все права.

  ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ НА *. * 'User' @ '%' С ОПЦИЕЙ GRANT;  

И пром льготы.

Теперь перезапустите Apache и MySQL еще раз.

  sudo service apache2 перезапуск  
  sudo service mysql перезапуск  

Локальная установка для доступа к MySQL

Все должно быть установлено со стороны Ubuntu для установки MySQL. Теперь нам нужно будет сделать несколько вещей, чтобы подключиться к MySQL через SequelPro.

Сначала отредактируйте VagrantFile и добавьте эту строку для распознавания порта MySQL, 3306.

  config.vm.network "forwarded_port", гость: 3306, хост: 3306  

Вам необходимо перезапустить Vagrant, чтобы это вступило в силу.

Теперь откройте SequelPro или вашу программу базы данных (SQLYog для Windows) для подключения.

Нам нужно будет использовать вкладку SSH подключения. Нам нужно установить два соединения — MySQL и SSH.

Для MySQL учетные данные будут:

  • Хост: 192.168.33.10
  • Имя пользователя: пользователь
  • Пароль: пароль
  • Порт: 3306

Для SSH это будут:

  • Хост: 127.0,0.1
  • Пользователь: vagrant
  • Ключ: ~ / .vagrant.d / insecure частный ключ
  • Порт: 2222

В вашей домашней папке будет скрытый каталог с именем .vagrant.d . Внутри находится файл с именем insecure_private_key , который является ключом, который команда vagrant ssh использует для подключения.

Запуск vagrant ssh аналогичен запуску следующего:

  ssh -i ~ /.vagrant.d / insecure_private_key [email protected]  

При вводе всех следующих учетных данных нам будет предложено ввести пароль.

Пароль «бродячий»

Обновление 3/5/2018 : этот ключ может не работать в более новых версиях Ubuntu. Вместо этого вы запустите vagrant ssh-config со своего локального компьютера и выполните путь к файлу IdentityFile. Мой был / Users / мой путь / ubuntu /.vagrant / machines / default / virtualbox / private key . Используйте его вместо ~ / .vagrant.d / insecure private key .

Теперь, если все пойдет хорошо, мы будем в игре! Если до этого момента у вас были какие-либо проблемы, сообщите мне, и я посмотрю, смогу ли я их прояснить.

Поскольку я нахожусь в системе, я просто собираюсь создать базу данных под названием test и таблицу под названием table1 , чтобы я мог тестировать MySQL через PHP.

Шаг 6 — Тестирование PHP и MySQL

Использование connect.php и test. php , которые мы создали в / var / www / html ранее, давайте протестируем PHP и MySQL из браузера.

В test.php мы будем использовать функцию phpinfo () для тестирования PHP.

В connect.php я использовал быстрый тестовый сценарий MySQL, чтобы убедиться, что все подключается.

   \ n";
} еще {
  echo "Есть таблицы $ tblCnt 
\ n"; }

И я вижу, что MySQL подключается правильно.

Заключение

В этой статье мы подробно рассмотрели. Создание производственной среды, установка сервера LAMP, доступ к серверу виртуальной машины и базе данных с вашего локального компьютера и синхронизация папок между локальной и виртуальной машиной. Теперь у нас есть полная локальная среда Ubuntu, которая может соответствовать производственной среде, над которой мы, возможно, работаем.

Как установить PHP (7.4, 8.0) на Ubuntu — ThisHosting.Rocks

Наконец, третья часть нашей серии руководств по LAMP: как установить PHP на Ubuntu.В этом руководстве мы покажем вам, как установить различные версии PHP, включая PHP 7.4 и последнюю версию PHP 8.0

.

Это руководство должно работать для любого выпуска Ubuntu и других выпусков на основе Ubuntu. Ubuntu 16.04, Ubuntu 18.04, Ubuntu 20.04, Ubuntu 20.10 и даже должен работать с Xubuntu, Kubuntu и аналогичными дистрибутивами.

Уроки здесь:

Для первой части нашей серии LAMP перейдите к нашему руководству Как установить и оптимизировать Apache на Ubuntu.

А для второй части перейдите к Как установить MySQL / MariaDB в Ubuntu.

Прежде чем мы начнем установку PHP на Ubuntu

  • PHP имеет разные версии и выпуски, которые вы можете использовать. Начиная с самого старого из поддерживаемых в настоящее время — PHP 7.3, до PHP 7.4 и последнего — PHP 8.0. Мы включим инструкции для PHP XX, PHP XX . Мы рекомендуем вам установить PHP 8.0, поскольку он стабилен и содержит множество улучшений и новых функций. Если вы все еще используете PHP 7.3, вам определенно нужно обновить его как можно скорее, потому что его поддержка безопасности заканчивается в конце 2021 года.
  • Очевидно, вам понадобится сервер Ubuntu. Вы можете получить его от Vultr. Их серверы начинаются с 2,5 долларов в месяц. Или вы можете обратиться к любому другому поставщику облачных серверов, у которого есть root-доступ к серверу.
  • Вам также понадобится root-доступ к вашему серверу. Либо используйте пользователя root, либо пользователя с доступом sudo. В нашем руководстве мы будем использовать пользователя root, поэтому нет необходимости выполнять каждую команду с «sudo», но если вы не используете пользователя root, вам нужно будет это сделать.
  • Вам потребуется включить SSH, если вы используете Ubuntu, или SSH-клиент, например MobaXterm, если вы используете Windows.
  • Проверьте, установлен ли PHP на вашем сервере. Вы можете использовать команду «which php». Если результат дает, значит он установлен, если нет — PHP не установлен. Вы также можете использовать команду «php -v». Если установлена ​​одна версия, вы все равно можете перейти на другую.
  • Некоторые общие хосты уже реализовали PHP 8.0 на своих общих серверах, например Hawk Host и iWebFusion.

Теперь о нашем руководстве.

Как установить PHP 7.4 в Ubuntu 20.04

PHP 7. 4 по умолчанию включен в репозитории Ubuntu 20.04. Таким образом, инструкции очень похожи на другие варианты.

Инструкции для Ubuntu 16.04 аналогичны, но Ubuntu 16.04 будет использовать любую версию PHP по умолчанию, которую он использует.

Обновление Ubuntu

Опять же, прежде чем что-либо делать, вы должны обновить свой сервер:

 apt-get update && apt-get upgrade 

Установить PHP 7.4

Затем, чтобы установить PHP 7.4 в Ubuntu 20.04, просто выполните следующую команду:

 apt-get install php 

Эта команда установит PHP 7.4, а также некоторые другие зависимости.

Чтобы проверить, установлен ли PHP, выполните следующую команду:

 php -v 

Вы должны получить примерно такой ответ:

 PHP 7.4.3 (cli) (построено: 6 октября 2020 15:47:56) (NTS) 

Вот и все. PHP 7.4 установлен на вашем сервере Ubuntu 20.04.

Установить модули (расширения) PHP 7.4

Это наиболее распространенные модули PHP 7. php

Как установить PHP 8.0 в Ubuntu 20.04 или 18.04

PHP 8.0 — новейшая версия PHP, выпущенная 26 ноября 2020 года. Вы можете начать использовать ее прямо сейчас. Это инструкции по установке на Ubuntu 20.04 или Ubuntu 18.04 (или любой другой Ubuntu)

Обновление Ubuntu

Сначала обновите свой сервер Ubuntu:

 apt-get update && apt-get upgrade 

Добавить репозиторий PHP

Для установки PHP 8.0 вам потребуется сторонний репозиторий. Мы будем использовать репозиторий Ondřej Surý, который мы использовали ранее.

Во-первых, убедитесь, что у вас установлен следующий пакет, чтобы вы могли добавлять репозитории:

 apt-get install software-properties-common 

Затем добавьте репозиторий PHP из Ondřej:

 add-apt-репозиторий ppa: ondrej / php 

И, наконец, обновите список пакетов:

 apt-get обновление 

Установить PHP 8.0

После добавления репозитория вы можете установить PHP 8. 0 с помощью следующей команды:

 apt-get install php8.0 

Эта команда установит дополнительные пакеты:

  • libapache2-mod-php8.0
  • libaprutil1-dbd-sqlite3
  • php8.0-cli
  • общий php8.0
  • php8.0-json
  • php8.0-opcache
  • php8.0-readline
  • … и другие.

И все. Чтобы проверить, установлен ли PHP 8.0 на вашем сервере, выполните следующую команду:

 php -v 

Что должно вернуть примерно следующее:

 PHP 8.0.0 (cli) (построено: 27 ноября 2020 12:26:22) (NTS) 

Установить модули (расширения) PHP 8.0

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

 apt-get install libapache2-mod-php8.0 php8.0-fpm libapache2-mod-fcgid php8.0-curl php8.0-dev php8.0-gd php8.0-mbstring php8.0-zip php8.0 -mysql php8.0-xml 

И все. Теперь вы можете начать использовать PHP на своем сервере Ubuntu.

Если вы хотите дополнительно настроить и настроить свой PHP, прочтите наши инструкции ниже.

Как установить PHP 7.4 в Ubuntu 18.04

Вместо использования старой версии PHP, которая по умолчанию включена в Ubuntu 18.04, вы должны использовать PHP 7.4 или PHP 8.0. Вот инструкции по установке PHP 7.4 на Ubuntu 18.04

.

Обновление Ubuntu

Конечно, как всегда, первое обновление Ubuntu:

 apt-get update && apt-get upgrade 

Добавить репозиторий PHP

Вы можете использовать сторонний репозиторий для установки последней версии PHP.Мы будем использовать репозиторий Ондржея Сури.

Во-первых, убедитесь, что у вас установлен следующий пакет, чтобы вы могли добавлять репозитории:

 apt-get install software-properties-common 

Затем добавьте репозиторий PHP из Ondřej:

 add-apt-репозиторий ppa: ondrej / php 

И, наконец, обновите список пакетов:

 apt-get обновление 

Установить PHP 7.

4

После добавления репозитория вы можете установить PHP 7.4 с помощью следующей команды:

 apt-get install php7.4 

Эта команда установит дополнительные пакеты:

  • libapache2-mod-php7.4
  • libargon2-0
  • libsodium23
  • библиотека libssl1.1
  • php7.4-cli
  • php7.4-общий
  • php7.4-json
  • php7.4-opcache
  • php7.4-readline

И все. Чтобы проверить, установлен ли PHP 7.4 на вашем сервере, выполните следующую команду:

 php -v 

Установить модули PHP 7.4

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

 apt-get install libapache2-mod-php7.4 php7.4-fpm libapache2-mod-fcgid php7.4-curl php7.4-dev php7.4-gd php7.4-mbstring php7.4-zip php7.4 -mysql php7.4-xml 

И все. Теперь вы можете начать использовать PHP на своем сервере Ubuntu.

Если вы хотите дополнительно настроить и настроить свой PHP, прочтите наши инструкции ниже.

Как изменить версию PHP, которую вы используете

Если на вашем сервере Ubuntu установлено несколько версий PHP, вы можете изменить версию по умолчанию.

Чтобы установить PHP 7.4 по умолчанию, запустите:

Альтернативы обновления

 --set php /usr/bin/php7.4 

Чтобы установить PHP 8.0 по умолчанию, запустите:

Альтернативы обновлений

 --set php /usr/bin/php8.0 

Вы можете проверить, какую версию PHP вы используете, с помощью следующей команды:

 php -v 

Если вы следуете нашим руководствам по LAMP и используете Apache, вы можете настроить Apache для использования PHP 8.0 с помощью следующей команды:

 a2enmod php8.0 

А затем перезапустите Apache, чтобы изменения вступили в силу:

 systemctl перезапустить apache2 

Как перейти на PHP 7.4 или 8.0 в Ubuntu

Если вы уже используете старую версию PHP с некоторыми из своих приложений, вы можете выполнить обновление с помощью:

  1. Резервное копирование всего.
  2. Установите новейший PHP и необходимые модули.
  3. Измените версию по умолчанию, которую вы используете.
  4. (необязательно) Удалите старую версию PHP
  5. .

  6. (обязательно) Настройте программное обеспечение для использования новой версии PHP.Скорее всего, вам потребуется настроить Nginx / Apache и многие другие службы / приложения. Если вы не уверены, что вам нужно делать, обратитесь к профессионалам, и пусть они сделают это за вас.

Ускорьте PHP с помощью кеша опкодов

Вы можете улучшить производительность вашего PHP, используя метод кэширования. Мы будем использовать APCu, но есть и другие альтернативы.

Если у вас установлен модуль «php-pear» (мы включили его в наши инструкции выше), вы можете установить APCu с помощью следующей команды:

 pecl установить apcu 

Есть и другие способы установки APCu, в том числе с помощью пакета.

Чтобы начать использовать APCu, вы должны выполнить следующую команду для PHP 7. 4:

 echo "extension = apcu.so" | тройник -a /etc/php/7.4/mods-available/cache.ini 

Или эта команда для PHP 8.0:

 echo "extension = apcu.so" | тройник -a /etc/php/8.0/mods-available/cache.ini 

Если вы следуете нашим руководствам по LAMP и используете Apache, создайте символическую ссылку для файла, который вы только что создали.

Для PHP 7.4:

 ln -s /etc/php/7.4/mods-available/cache.ini /etc/php/7.4/apache2/conf.d/30-cache.ini 

Для PHP 8.0:

 ln -s /etc/php/8.0/mods-available/cache.ini /etc/php/8.0/apache2/conf.d/30-cache.ini 

И, наконец, перезагрузите Apache, чтобы изменения вступили в силу:

 systemctl перезапустить apache2 

Для дальнейшей настройки APCu и его работы вы можете добавить несколько дополнительных строк в ранее созданный файл cache.ini. Оптимальная конфигурация зависит от того, какой сервер вы используете, какие приложения вы используете и т. Д.Либо погуглите и найдите конфигурацию, которая вам подходит, либо обратитесь к профессионалам и позвольте им сделать это за вас.

Это все, что касается нашей базовой настройки. Конечно, вы можете сделать гораздо больше опций и конфигураций, но мы оставим их для другого урока.

Установите Apache PHP MySQL в цифровом океане или ubuntu 16.04

Из этой статьи вы узнаете об установке apache php mysql, выполнив следующие действия.

Установите Apache

Сначала вам нужно открыть клиент ssh. Затем авторизуйтесь

Чтобы установить apache Выполните команду

sudo apt-get update
sudo apt-get install apache2

Установить глобальное имя сервера для подавления синтаксических предупреждений

sudo apache2ctl configtest

судо нано /etc/apache2/apache2.conf

Поскольку мы добавили глобальную директиву ServerName, все, что вы должны увидеть, это:

Перезапустите Apache, чтобы изменения вступили в силу:

sudo systemctl перезапуск apache2

Настройте брандмауэр для разрешения веб-трафика

список приложений sudo ufw

Если вы посмотрите на профиль Apache Full , он должен показать, что он разрешает трафик на порты 80 и 443:

sudo ufw app info "Apache Full"

Перейдите на свой http: // your_server_IP_address

Альтернативный метод — использовать утилиту curl для связи с внешней стороной, чтобы сообщить вам, как it видит ваш сервер. Вы можете сделать это, спросив конкретный сервер, какой у вас IP-адрес:

sudo apt-get install curl

Шаг 2: Установите MySQL

sudo apt-get install mysql-server

Вам необходимо установить пароль mysql для root

Когда установка будет завершена, мы хотим запустить простой сценарий безопасности, который удалит некоторые опасные значения по умолчанию и немного заблокирует доступ к нашей системе базы данных.Запустите интерактивный сценарий, выполнив:

mysql_secure_installation

Шаг 3. Установите PHP

sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

В большинстве случаев нам нужно изменить способ, которым Apache обслуживает файлы при запросе каталога. В настоящее время, если пользователь запрашивает каталог с сервера, Apache сначала ищет файл с именем index.html. Мы хотим указать нашему веб-серверу, чтобы он предпочитал файлы PHP, поэтому сначала заставим Apache искать файл index.php.

   судо нано /etc/apache2/mods-enabled/dir.conf  
 

Чтобы включить удаленный доступ для вашего mysql, выполните следующую команду

ПРЕДОСТАВЛЯТЬ ВСЕ ПРИВИЛЕГИИ. TO 'root' @ '%' ИДЕНТИФИЦИРОВАННЫЙ 'ПАРОЛЕМ' С ОПЦИЕЙ GRANT;

Наконец, вам нужно перезапустить apache2

sudo systemctl перезапустить apache

Мы также можем проверить статус службы apache2 с помощью systemctl:

sudo systemctl статус apache2

Установить модули PHP

apt-cache search php- | менее

Чтобы получить дополнительную информацию о том, что делает каждый модуль, вы можете либо поискать в Интернете, либо просмотреть подробное описание пакета, набрав:

apt-cache показать имя_пакета

Для установки пакета

sudo apt-get install package1 package2

Шаг 4.

Протестируйте обработку PHP на своем веб-сервере

В Ubuntu 16.04, этот каталог находится в / var / www / html /. Мы можем создать файл в этом месте, набрав:

судо нано /var/www/html/info.php

Для проверки Адрес, который вы хотите посетить, будет:

http: //IP_адрес_вашего_сервера/info.php

Эта страница в основном дает вам информацию о вашем сервере с точки зрения PHP. Это полезно для отладки и проверки правильности применения ваших настроек.

Если это было успешно, значит, ваш PHP работает должным образом.

Вероятно, вы захотите удалить этот файл после этого теста, потому что он действительно может предоставить информацию о вашем сервере неавторизованным пользователям. Для этого наберите:

судо rm /var/www/html/info.php

Надеюсь, эта статья поможет вам правильно установить apache php mysql. Ознакомьтесь с важными командами Cakephp здесь.

Apache-Php с MySQL в Ubuntu

Укажите логин вашего компьютера — ПОЖАЛУЙСТА, СДЕЛАЙТЕ ЭТО !!

Стандартный каталог NetBeansProjects находится в

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

/ главная / 

Введите логин вашего компьютера и нажмите кнопку Set Change :

Как только вы это сделаете, введенное значение будет использоваться во всем документе.
чтобы персонализировать его для вашего компьютера.

Предварительные испытания

Предполагается, что вы установили MySQL, как в
MySQL в Ubuntu.

Описанная установка добавляет собственный Apache / Php для
Ubuntu версии 18.04.
Он должен одинаково хорошо работать на Linux Mint 19.

Редакторы

Во многих ситуациях вам нужно будет отредактировать свои собственные файлы или
файлы конфигурации системы (как root).
Я бы порекомендовал один из этих двух:

нано неграфический
gedit графический
 

Для ваших файлов:

$ nano <МОЙ ФАЙЛ>
$ gedit <МОЙ ФАЙЛ>
 

Для системных файлов:

$ sudo nano <МОЙ ФАЙЛ>
$ sudo gedit <МОЙ ФАЙЛ>
 
Установка программного обеспечения

Поддерживаются обе версии Php 5 и 7.Мы будем использовать версию 7.
Установите эти пакеты:

$ sudo apt install \
apache2 php libapache2-mod-php php-cli php-mysql php-cgi \
php-curl, php-json, php-mcrypt, php-apcu, php-gd, php-xml \
php-mbstring php-gettext php-sqlite3 sqlite3 \
 

Это немного перебор, но они могут пригодиться позже.

Apache

Веб-служба Apache запустится автоматически после установки.
Проверьте это, заглянув на сайт:

Чтобы запустить службу Apache (при необходимости), выполните:

$ sudo service apache2 start
 

По большей части вы захотите либо перезапустить, либо перезагрузить службу,
делает

$ sudo service apache2 перезапуск
 

или же

$ sudo service apache2 перезагрузка
 

Основной файл конфигурации Apache:

/ и т. д. / apache2 / apache2.conf
 

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

После перезапуска Apache может пожаловаться

apache2: не удалось надежно определить полное доменное имя сервера с использованием 127.0.1.1. Установите глобальную директиву ServerName для подавления этого сообщения

Чтобы исправить это, отредактируйте файл конфигурации:

$ sudo nano /etc/apache2/apache2.conf
 

Прокрутите вниз и добавьте эту строку:

ServerName localhost
 

Затем перезапустите Apache, чтобы предупреждение исчезло.

Создайте URL-адрес «/ default»

Есть более удобные места для размещения необходимого кода, но для простоты
мы будем использовать глобальный файл конфигурации, поэтому отредактируйте:

$ sudo nano /etc/apache2/apache2.conf
 

и добавьте этот код:

 Псевдоним / по умолчанию "/ home / LOGIN / NetBeansProjects"

<Каталог "/ home / LOGIN / NetBeansProjects">
   Опции Все
   AllowOverride All
   Требовать все предоставлено
 

выбрать

Перезагрузите Apache:

$ sudo service apache2 перезапуск
 

а затем проверьте:

чтобы увидеть список вашего каталога NetBeansProjects. Если это не удается, возможно, разрешения в вашем домашнем каталоге
блокируют доступ Apache. Самый простой способ исправить это:

$ chmod 755 ~ /
 
Файлы конфигурации Php

Ubuntu поддерживает 3 версии конфигурационного файла php.ini,
два из которых находятся на месте благодаря первоначальным установкам:

  • /etc/php/7.0/apache2/php.ini: для Apache / Php
  • /etc/php/7.0/cli/php.ini: для командной строки Php

Вам необходимо изменить эти файлы инициализации Php. Начать с:

$ sudo nano / etc / php / 7.0 / apache2 / php.ini
 

Ищи
«часовой пояс» и «display_errors» и внесите следующие изменения:

/etc/php/7.0/apache2/php.ini

 ...
date.timezone = "Америка / Нью-Йорк"
...
display_errors = Вкл.
... 

После этого перезапустите Apache, как и раньше.

Сделайте то же самое для файла инициализации Php из командной строки:

$ sudo nano /etc/php/7.0/cli/php.ini
 

Тестовые программы

Информационная программа тестирования

Перейдите в каталог NetBeansProjects и создайте этот файл:

Вы не можете создать «просто файл» через NetBeans. Самый простой способ его создания может
использовать nano (как обычный пользователь) в оболочке терминала:

$ cd ~ / NetBeansProjects
$ nano phpinfo.php
 

После этого обновите URL-адрес по умолчанию.

Вы должны увидеть содержимое phpinfo.php в листинге.
Активируйте его, чтобы увидеть в списке информацию об Apache / Php.

Тестовая программа Php PDO / MySQL

При необходимости подготовьте стандартную установку MySQL с доступом к тестовой базе данных.
гостевым пользователем с пустым паролем. Сначала проверьте это:

$ mysql -u гостевой тест -p
 

Создайте и запустите на веб-сервере следующую программу:

mysql-pdo-test.php

Интерфейс PHP MySQL PDO

  подключить url = $ url \ n";
$ cx = новый PDO ($ url, $ user, $ pass);

# генерировать исключения при ошибке
$ cx-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

$ sql = "СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ $ table (thing VARCHAR (10))";
эхо "-> $ sql \ n";
$ cx-> exec ($ sql);

$ sql = "ВСТАВИТЬ В $ table VALUES ('книга'), ('карандаш')";
эхо "-> $ sql \ n";
$ cx-> exec ($ sql);

$ sql = "ВЫБРАТЬ вещь ИЗ $ table";
эхо "-> $ sql \ n";
$ res = $ cx-> запрос ($ sql);
foreach ($ res as $ row) {
echo $ row ['вещь'], "";
}
эхо "\ п";

$ sql = "УДАЛИТЬ ТАБЛИЦУ $ table";
эхо "-> $ sql \ n";
$ cx-> exec ($ sql);

echo "\ nУСПЕХ! \ n";
}
catch (PDOException $ e) {
die ("Ошибка:".

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *