Содержание
- 1 Шаг 1 — Установка Apache и настройка файрвола
- 2 Установка LAMP в Ubuntu
- 3 Шаг 2 — Установка MySQL
- 4 Step 2: Install MySQL
- 5 Шаг #7: Настройка виртуального хоста в Apache
- 6 Шаг 5: Настройка директории WordPress
- 7 Step 5 — Configuring the WordPress Directory
- 8 Step 4 — Downloading WordPress
- 9 Установка Apache 2
- 10 Шаг 4 — Тестирование работы PHP на вашем веб-сервере
- 11 Шаг 3 — Установка PHP
- 12 Prerequisites
- 13 Conclusión
- 14 Установка MySQL Ubuntu 16.04
Шаг 1 — Установка Apache и настройка файрвола
Веб-сервер Apache в настоящее время является одним из самых популярных веб-серверов в мире. Он хорошо документирован и используется значительную часть времени с момента создания сети Интернет, что делает его прекрасным выбором для хостинга веб-сайта.
Мы с легкостью можем установить Apache используя менеджер пакетов Ubuntu . Менеджер пакетов позволяет нам легко установить большую часть программного обеспечения из репозиториев Ubuntu. О том, как использовать , вы можете узнать из этой статьи.
Для начала установки выполним команды:
Поскольку мы используем команду , эти команды будут выполняться с привилегиями root. В процессе операционная система запросит ваш пароль пользователя.
После ввода пароля сообщит, какие пакеты будут установлены и сколько места они займут на диске. Нажмите Y и Enter для продолжения установки.
Настройка глобальной переменной ServerName
Далее мы добавим одну строку в для устранения предупреждений (warnings) о синтаксических ошибках. Несмотря на то, что это просто предупреждение и никакой проблемы не существует, если не задать глобальную переменную , вы будете получать следующее предупреждение об ошибке при проверке настройки конфигурации Apache:
Откройте главный конфигурационный файл в своём текстом редакторе командой:
Добавьте в конец файла переменную , указывающую на ваше основное доменное имя. Если для вашего сервера не настроено доменное имя, вы можете использовать публичный IP-адрес сервера:
Внимание
Если вы не знаете IP-адрес Вашего сервера, вы можете прочитать об этом в разделе ./etc/apache2/apache2.conf
После этого сохраните и закройте файл.
Теперь можно проверить результат напечатав следующую команду:
Поскольку мы установили глобальную переменную , вы должны увидеть вывод следующего характера:
Перезапустите Apache для применения внесённых изменений:
Теперь можно приступать к настройке файрвола.
Настройка файрвола
Теперь убедимся, что ваш файрвол пропускает HTTP и HTTPS трафик. Мы будем исходить из предположения, что вы уже выполнили инструкции по первичной настройке сервера и включили файрвол UFW. Для начала убедимся, что UFW имеет профиль для Apache следующей командой:
Проверим настройку профиля , она должна разрешать трафик для портов 80 и 443:
Разрешим входящий трафик для этого профиля:
Проверить результат установки можно набрав в вашем веб-браузере публичный IP адрес вашего сервера (если вы еще не знаете, как найти публичный IP адрес вашего сервера, смотрите следующий раздел этой статьи):
Вы увидите страницу Apache, отображаемую по умолчанию для информации и целей тестирования. Она должна выглядеть похожим образом:
Если вы видите эту страницу, ваш веб-сервер корректно установлен и доступен через файрвол.
Как найти публичный IP адрес вашего сервера
Если вы не знаете публичный IP адрес вашего сервера, его можно определить несколькими способами. Обычно, это адрес, который вы используете для соединения с вашим сервером по SSH.
Определить этот адрес можно с помощью командной строки. Сначала используйте инструмент для получения вашего адреса набрав следующую команду:
Результатом выполнения этой команды будет одна или две строки, содержащие корректный адрес. Ваш компьютер, возможно, сможет использовать только один из них, поэтому попробуйте каждый вариант.
В качестве альтернативы можно узнать, как видит ваш сервер. Это можно сделать следующим образом:
В независимости от метода, который вы использовали для получения своего IP адреса, вы можете использовать этот IP адрес для доступа к серверу через адресную сроку веб-браузера.
Установка LAMP в Ubuntu
1. Установка пакетов с помощью tasksel
Tasksel — это утилита, которая позволяет устанавливать пакеты различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале:
Затем, чтобы установить Lamp на Ubuntu, достаточно выполнить такую команду:
Установка займёт кое-какое время, потому что утилите придётся скачать и настроить все пакеты, но потом вы получите полностью работающий стек LAMP.
2. Как установить Lamp в Ubuntu вручную
Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности и настроить их для совместной работы. Сначала установим все необходимые пакеты. Установка последней версии Apache2 из репозиториев:
Установка базы данных MariaDB из репозиториев:
Или вы можете установить MySQL:
Установка интерпретатора языка программирования PHP 7.2 и расширений, необходимых для его работы с Apache и MySQL:
Установка дополнительных расширений для PHP, которые вам понадобятся в будущем для хостинга большинства популярных проектов:
3. Настройка брандмауэра
По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:
4. Проверка работы LAMP
Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, у меня это localhost:
Работает, теперь давайте проверим, правильно ли работает PHP. Создайте файл в директории /var/www/html со следующим содержимым:
Затем откройте адрес localhost/phpinfo.php. Если всё работает, вы должны увидеть такую страничку:
Также можно проверить, работает ли MySQL: если расширение PHP для MySQL загрузилось, то на странице phpinfo будет размещена такая информация:
Готово, дальше идёт в основном настройка LAMP в Ubuntu 18.04.
5. Настройка Apache
Для обработки запросов будет использоваться модуль mpm_prefork, так как он совместим с большинством систем. Поэтому его нужно активировать, а mpm_event и mpm_worker отключить:
Включаем mod_rewrite, который сейчас используется практически везде:
Если вы хотите использовать файлы httaccess для настроек, то необходимо в файле /etc/apache2/apache2.conf изменить значение AllowOverride с None на All для нужных местоположений, например, для /var/www:
Далее необходимо перезапустить Apache:
Подробнее про настройку веб-сервера читайте в отдельной статье установка и настройка Apache.
6. Настройка PHP
По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл:
Найдите short_open_tag = Off и замените на:
Вывод ошибок в PHP по умолчанию тоже отключён. Если вы хотите разрабатывать программы на этом сервере, то вам необходимо включить ошибки, иначе вместо ошибок вы будете видеть пустой экран. Для этого найдите эти строки и приведите их к такому виду:
Или для записи ошибок в файл вы можете добавить такую строку:
После внесения всех изменений необходимо перезапустить Apache:
Подробнее про настройку файла php.ini смотрите здесь.
7. Настройка MySQL
По умолчанию MySQL не очень хорошо настроена в плане безопасности. Нам нужно задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале:
На первом этапе утилита попросит вас ввести пароль суперпользователя, так как он ещё не задан, просто нажмите Enter:
Далее введите новый пароль:
Во всех следующих вопросах нужно отвечать утвердительно:
- Запретить удалённый вход для root;
- Запретить гостевой вход;
- Удалить временные таблицы;
- Обновить таблицы привилегий.
Готово, теперь ваша база данных защищена и готова к работе.
8. Удаление LAMP в Ubuntu
Чтобы полностью удалить LAMP из системы, достаточно удалить все пакеты, которые вы установили ранее:
Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.
Если установка LAMP на Ubuntu выполнялась с помощью tasksel, то для удаления необходимо выполнить:
Шаг 2 — Установка MySQL
Мы запустили веб-сервер, и теперь нам нужно установить СУБД, которая может хранить данные вашего сайта и управлять ими. MySQL — популярная СУБД, используемая в средах PHP.
Используйте для получения и установки этого программного обеспечения:
Для подтверждения установки введите , а затем нажмите .
После завершения установки рекомендуется запустить скрипт безопасности, предустановленный в MySQL. Этот скрипт будет удалять некоторые небезопасные настройки по умолчанию и блокировать доступ к системе управления базы данных. Для запуска интерактивного скрипта введите следующую команду:
Скрипт предложит настроить плагин .
Примечание. Эту функцию следует активировать при наличии разумных оснований. Если она активирована, MySQL будет отклонять пароли, не соответствующие определенным критериям, и выводить сообщение об ошибке. Оставить проверку отключенной достаточно безопасно, но для входа в базу данных всегда нужно использовать надежные уникальные пароли.
Выберите для активации или любой другой вариант, чтобы продолжить без активации этой функции.
Если вы ответите утвердительно, вам будет предложено выбрать уровень проверки пароля. Если вы укажете самый высокий уровень , система будет выводить сообщения об ошибке при попытке установки пароля, который не будет содержать цифры, буквы в верхнем и нижнем регистре и специальные символы, или будет содержать распространенные словарные слова.
Вне зависимости от того, будете ли вы использовать плагин , ваш сервер предложит вам выбрать и подтвердить пароль для root user в MySQL. Не нужно путать его с системным пользователем root. Пользователь root базы данных — это пользователь с правами администратора, который имеет все права для работы с системой управления базы данных. Хотя в MySQL метод аутентификации пользователя root по умолчанию не требует использования пароля даже при его наличии, задайте надежный пароль для обеспечения дополнительной безопасности. Чуть дальше мы расскажем об этом подробнее.
Если вы включили использование паролей, вы увидите уровень надежности введенного пароля для пользователя root, и ваш сервер запросит у вас подтверждение дальнейшего использования этого пароля. Если вас устраивает текущий пароль, введите в диалоге для подтверждения:
Для всех остальных вопросов нужно выбирать и нажимать в каждом диалоге. Выбрав эти ответы, вы удалите ряд анонимных пользователей и тестовую базу данных, отключите возможность удаленного входа пользователя root и загрузите новые правила, чтобы внесенные изменения немедленно активировались в MySQL.
Завершив настройку, проверьте возможность входа в консоль MySQL, набрав следующую команду:
В результате будет установлено подключение к серверу MySQL с помощью пользователя root базы данных с правами администратора, который логически выводится в результате использования при запуске данной команды. Результат должен выглядеть следующим образом:
Для выхода из консоли MySQL введите следующую команду:
Обратите внимание, что для подключения под именем пользователя root не требуется вводить пароль, хотя вы и задали его при запуске скрипта. Это работает, поскольку используемый по умолчанию метод аутентификации для пользователя MariaDB с правами администратора — , а не
Хотя это может выглядеть как проблема безопасности, это делает сервер БД более безопасным, поскольку вход с правами root в MySQL доступен только системным пользователям с привилегиями sudo, которые подключаются через консоль или через приложение с тем же уровнем прав. На практике это означает, что вы не сможете использовать пользователя root базы данных с правами администратора для подключения из вашего приложения PHP. Настройка пароля учетной записи root MySQL работает как гарантия, если метод аутентификации по умолчанию меняется с на .
Для дополнительной безопасности рекомендуется иметь специальные учетные записи пользователей с менее обширными привилегиями, особенно если вы планируете использовать несколько баз данных на сервере.
Примечание. На момент написания этого руководства родная библиотека MySQL PHP не поддерживает , метод аутентификации MySQL 8 по умолчанию. Поэтому при создании пользователей базы данных для приложений PHP на MySQL 8 вам нужно убедиться, что они настроены на использование вместо этого пароля . Мы расскажем, как это сделать в .
Теперь ваш сервер MySQL установлен и защищен. Далее мы выполним установку PHP, последнего компонента набора LAMP.
Step 2: Install MySQL
Now that we have our web server up and running, it is time to install MySQL. MySQL is a database management system. Basically, it will organize and provide access to databases where our site can store information.
Again, we can use to acquire and install our software. This time, we’ll also install some other “helper” packages that will assist us in getting our components to communicate with each other:
Note: In this case, you do not have to run prior to the command. This is because we recently ran it in the commands above to install Apache. The package index on our computer should already be up-to-date.
Again, you will be shown a list of the packages that will be installed, along with the amount of disk space they’ll take up. Enter Y to continue.
During the installation, your server will ask you to select and confirm a password for the MySQL “root” user. This is an administrative account in MySQL that has increased privileges. Think of it as being similar to the root account for the server itself (the one you are configuring now is a MySQL-specific account, however). Make sure this is a strong, unique password, and do not leave it blank.
When the installation is complete, we want to run a simple security script that will remove some dangerous defaults and lock down access to our database system a little bit. Start the interactive script by running:
You will be asked to enter the password you set for the MySQL root account. Next, you will be asked if you want to configure the .
Warning: Enabling this feature is something of a judgment call. If enabled, passwords which don’t match the specified criteria will be rejected by MySQL with an error. This will cause issues if you use a weak password in conjunction with software which automatically configures MySQL user credentials, such as the Ubuntu packages for phpMyAdmin. It is safe to leave validation disabled, but you should always use strong, unique passwords for database credentials.
Answer y for yes, or anything else to continue without enabling.
You’ll be asked to select a level of password validation. Keep in mind that if you enter 2, for the strongest level, you will receive errors when attempting to set any password which does not contain numbers, upper and lowercase letters, and special characters, or which is based on common dictionary words.
If you enabled password validation, you’ll be shown a password strength for the existing root password, and asked you if you want to change that password. If you are happy with your current password, enter n for “no” at the prompt:
For the rest of the questions, you should press Y and hit the Enter key at each prompt. This will remove some anonymous users and the test database, disable remote root logins, and load these new rules so that MySQL immediately respects the changes we have made.
At this point, your database system is now set up and we can move on.
Шаг #7: Настройка виртуального хоста в Apache
Если у вас есть действующее доменное имя и вы хотите использовать его для доступа к вашему WordPress, вам нужно будет создать новый файл виртуального хоста Apache. Предположим, мы хотим получить доступ к нашему WordPress с именем домена mydomain.com.
Сначала запустите следующую команду для создания файла конфигурации виртуального хоста:
nano /etc/apache2/sites-available/mydomain.com.conf
И добавьте в файл следующий текст (вы можете заменить mydomain.com своим доменным именем):
<VirtualHost *:80> ServerAdmin admin@mydomain.com ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/html/wordpress ErrorLog ${APACHE_LOG_DIR}/mydomain.com_error.log CustomLog ${APACHE_LOG_DIR}/mydomain.com_access.log combined </VirtualHost>
Чтобы включить только что созданный виртуальный хост, выполните следующую команду:
a2ensite mydomain.com.conf
Другой способ сделать это — создать символическую ссылку для вашего виртуального хоста в /etc/apache2/sites-enabled:
ln -s /etc/apache2/sites-available/mydomain.com.conf /etc/apache2/sites-enabled/
После включения виртуального хоста, используя один из вышеперечисленных методов, вам необходимо перезапустить веб-сервер Apache:
systemctl restart apache2
Если DNS-записи настроены правильно, а ваш домен указан на вашем сервере, вы можете использовать его для доступа к вашей установке WordPress, введя http://mydomain.com в своем браузере и увидите следующую страницу:
Выберите свой язык и нажмите «Продолжить».
Введите необходимую информацию: название сайта, имя пользователя, пароль и адрес электронной почты и нажмите «Установить WordPress».
Вы получите сообщение, что WordPress был успешно установлен, и теперь вы можете войти в свою панель управления с помощью информации, которую вы указали ранее.
После успешного входа в систему вы попадете в консоль WordPress:
Поздравляем! WordPress был успешно установлен на вашем сервере. Теперь вы можете создавать и настраивать свой сайт в соответствии с вашими потребностями.
Шаг 5: Настройка директории WordPress
Перед началом настройки WordPress с использованием веб-интерфейса нам необходимо сделать некоторые изменения в самой директории WordPress.
Настройка прав доступа
Одной из важных задач на данном этапе является настройка разумных прав доступа и владельцев файлов. Мы должны иметь возможность писать в эти файлы используя профиль обычного пользователя. Кроме того, веб-сервер должен иметь возможность осуществлять доступ и изменять определённые файлы и директории для своей корректной работы.
Начнём с того, что установим владельцем всех наших файлов в корневой директории сайта нашего пользователя. В этой статье мы используем имя пользователя , вам необходимо использовать имя вашего -пользователя. В качестве группы вы будем использовать группу :
Далее настроим бит для каждой из директорий в корневой директории. Благодаря этому все новые файлы, создаваемый в этих директориях, будут наследовать группу родительской директории (которую мы только что установили как ) вместо использования основной группы пользователя. Это необходимо для того, чтобы при создании любого файла в директории с помощью командной строки, веб-сервер имел доступ к этому файлу.
Теперь разрешим группе писать в директорию для того, чтобы веб-интерфейс мог вносить изменения в тему и плагины:
Далее дадим веб-серверу права на запись в следующие директории:
С этими настройками мы можем начать работу с WordPress. Некоторые плагины могут потребовать дополнительных настроек.
Настройка файла конфигурации WordPress
Теперь сделаем несколько изменения в основной файл конфигурации WordPress.
Сначала зададим некоторые секретные ключи для повышения безопасности. WordPress предоставляет генератор этих строк, поэтому вам не надо придумывать их самостоятельно. Эти строки используются только самим WordPress, поэтому не бойтесь задавать для них сложные значения.
Для получения строк от WordPress используйте следующую команду:
В ответ вы получите набор уникальных строк, который будет выглядеть следующим образом:
Внимание: Важно получать уникальные строки при каждой новой установке WordPress. Не копируйте строки, приведённые ниже в качестве примера!
Эти строки конфигурации можно вставить в наш конфигурационный файл
Скопируйте вывод, полученный выше, а затем откройте файл конфигурации WordPress:
Эти строки конфигурации можно вставить в наш конфигурационный файл. Скопируйте вывод, полученный выше, а затем откройте файл конфигурации WordPress:
Найдите секцию, которая содержит пустые значения для этих параметров. Она будет выглядеть примерно так:
/var/www/html/wp-config.php
Удалите эти строки и вставьте значения, полученные ранее:
/var/www/html/wp-config.php
Далее изменим настройки соединения с базой данных в начале файла. Нам необходимо задать имя базы данных, имя пользователя базы данных, а также соответствующий пароль этого пользователя MySQL.
Кроме того, мы зададим метод, который WordPress будет использовать при записи в файловую систему. Поскольку мы дали веб-серверу права на запись в необходимые директории, мы можем задать это значение в явном виде, как . Если этого не сделать, при выполнении некоторых операций WordPress будет запрашивать логин и пароль для FTP доступа.
Эти настройки можно добавить сразу после настроек соединения с базой данных или в любом другом месте файла:
/var/www/html/wp-config.php
Сохраните и закройте файл.
Step 5 — Configuring the WordPress Directory
Before we do the web-based WordPress setup, we need to adjust some items in our WordPress directory.
Adjusting the Ownership and Permissions
An important step that we need to accomplish is setting up reasonable file permissions and ownership.
We’ll start by giving ownership of all the files to the www-data user and group. This is the user that the Apache web server runs as, and Apache will need to be able to read and write WordPress files in order to serve the website and perform automatic updates.
Update the ownership with the command which allows you to modify file ownership. Be sure to point to your server’s relevant directory.
Next we’ll run two commands to set the correct permissions on the WordPress directories and files:
These permissions should get you working effectively with WordPress, but note that some plugins and procedures may require additional tweaks.
Setting Up the WordPress Configuration File
Now, we need to make some changes to the main WordPress configuration file.
When we open the file, our first task will be to adjust some secret keys to provide a level of security for our installation. WordPress provides a secure generator for these values so that you do not have to try to come up with good values on your own. These are only used internally, so it won’t hurt usability to have complex, secure values here.
To grab secure values from the WordPress secret key generator, type:
You will get back unique values that resemble output similar to the block below.
Warning! It is important that you request unique values each time. Do NOT copy the values below!
These are configuration lines that we can paste directly in our configuration file to set secure keys. Copy the output you received now.
Next, open the WordPress configuration file:
Find the section that contains the example values for those settings.
/var/www/wordpress/wp-config.php
Delete those lines and paste in the values you copied from the command line:
/var/www/wordpress/wp-config.php
Next, we are going to modify some of the database connection settings at the beginning of the file. You need to adjust the database name, the database user, and the associated password that you configured within MySQL.
The other change we need to make is to set the method that WordPress should use to write to the filesystem. Since we’ve given the web server permission to write where it needs to, we can explicitly set the filesystem method to “direct”. Failure to set this with our current settings would result in WordPress prompting for FTP credentials when we perform some actions.
This setting can be added below the database connection settings, or anywhere else in the file:
/var/www/wordpress/wp-config.php
Save and close the file when you are finished.
Step 4 — Downloading WordPress
Now that our server software is configured, we can download and set up WordPress. For security reasons in particular, it is always recommended to get the latest version of WordPress from their site.
Change into a writable directory (we recommend a temporary one like ) and download the compressed release.
Extract the compressed file to create the WordPress directory structure:
We will be moving these files into our document root momentarily. Before we do, we can add a dummy file so that this will be available for WordPress to use later.
Create the file by typing:
We’ll also copy over the sample configuration file to the filename that WordPress reads:
We can also create the directory, so that WordPress won’t run into permissions issues when trying to do this on its own following an update to its software:
Now, we can copy the entire contents of the directory into our document root. We are using a dot at the end of our source directory to indicate that everything within the directory should be copied, including hidden files (like the file we created):
Ensure that you replace the directory with the directory you have set up on your server.
Установка Apache 2
Если требуется установить только веб-сервер Apache 2 используйте любой метод для того, чтобы установить пакет .
Для того, чтобы Apache заработал его следует перезапустить:
sudo etcinit.dapache2 restart
Возможные ошибки
Если при запуске появляется следующая ошибка
запустите свой любимй текстовый редактор (например или ) и создайте файл , со следующим содержанием:
ServerName localhost
Это так же можно сделать выполнив комманду:
echo "ServerName localhost" | sudo tee etcapache2conf.dfqdn
Виртуальные хосты
Директория для файлов сайта находится в /var/www. Необходимы права root для доступа к этой папке. Но вы можете изменить права на нее командой
sudo chown -R $USER:$USER varwww
Вы также можете создать собственные сайты.
Для примера мы создадим новый сайт в папке /home/user/public_html/ :
Создаем копию стандартного конфиг-файл сайта и переименуем его
sudo cp etcapache2sites-availabledefault etcapache2sites-availablemysite
-
Отредактируем новый конфиг-файл в текстовом редакторе выполнив в консоли или , например:
gksudo gedit etcapache2sites-availablemysite
- Добавляем строчку с параметром 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 содержит две маленькие утилиты для помощи в этом: (apache2enable site) и (apache2disable site).
sudo a2dissite default && sudo a2ensite mysite
Осталось только перезапустить Apache2:
sudo etcinit.dapache2 restart
Если вы не создали папку /home/user/public_html/, то получите сообщение с предупреждением об этом.
Внесем имя сайта в список хостов сервера:
sudo gedit etchosts
Дописать в строчку 127.0.0.1 localhost через пробел mysite www.mysite
Перезапустить Apache2
sudo etcinit.dapache2 restart
Для проверки вашего нового сайта создайте файл в папке /home/user/public_html:
echo '<b>Hello! It is working!</b>' > homeuserpublic_htmlindex.html
Шаг 4 — Тестирование работы PHP на вашем веб-сервере
Чтобы проверить, что наша система сконфигурирована должным образом, мы можем создать простой PHP скрипт.
Назовем скрипт . Чтобы Apache нашел и обработал файл корректно, он должен быть сохранен в специальную директорию, которая называется “web root”.
В Ubuntu 14.04 данная директория находится по адресу . Мы можем создать там файл введя следующую команду:
Откроется пустой файл. Мы хотим ввести в файл следующий текст, который являеся корректным PHP кодом:
После внесения изменений сохраните и закройте файл.
Теперь мы можем проверить, может ли веб-сервер корректно отображать контент, сгенерированный PHP скриптом. Для проверки нам просто нужно открыть данную страницу в веб-браузере. Вам снова потребуется публичный IP-адрес сервера.
Откроем этот адрес:
Страница, на которую вы попадете, должна выглядеть похожим образом:
<img src=“https://assets.digitalocean.com/articles/lamp_1404/default_php.png”>
Данная страница содержит информацию о вашем сервере с точки зрения PHP. Она полезна для отладки и чтобы удостовериться в корректности применения настроек.
Если все прошло успешно, значит ваш PHP работает корректно.
Вы, возможно, захотите удалить этот файл после теста, т.к. он может дать информацию о вашем сервере неавторизованным пользователям. Для удаления файла введите команду:
Вы всегда сможете заново создать этот файл, если вам снова потребуется доступ к этой информации.
Шаг 3 — Установка PHP
PHP это компонент, который будет обрабатывать код для отображения динамического контента. Он может запускать скрипты, подключаться к нашим базам данных MySQL для получения информации и передавать обработанный контент в наш веб-сервер для отображения.
Мы можем вновь воспользоваться менеджером пакетов для установки компонентов. Мы также добавим некоторые вспомогательные пакеты, чтобы код на PHP мог работать с нашим сервером Apache, а также обращаться к базе данных MySQL:
Данная команда должна установить PHP без каких либо проблем. Вскоре мы это проверим.
В большинстве случаев, мы захотим изменить способ, который Apache использует для поиска файлов при запросе директории. На данный момент, если пользователь запрашивает директорию с сервера, Apache в первую очередь будет искать файл с названием . Мы хотим, чтобы наш веб-сервер отдавал предпочтение PHP файлам, так что мы настроим Apache таким образом, чтобы сначала он искал файлы .
Для этого введите следующую команду, чтобы открыть файл в текстовом редакторе с привилегиями пользователя root:
Содержимое файла будет выглядеть следующим образом:
/etc/apache2/mods-enabled/dir.conf
Мы хотим переместить индексный файл PHP , выделенный выше, на первое место после спецификации следующим образом:
/etc/apache2/mods-enabled/dir.conf
После внесения правок сохраните и закройте файл сочетанием клавиш . Вам придется подтвердить операцию вводом и затем нажатием клавиши для подтверждения места сохранения файла.
После этого нам необходимо перезапустить Apache для применения внесенных изменений. Вы можете сделать это при помощи команды:
Мы также можем проверить статус сервиса используя :
Чтобы расширить функциональность PHP, мы можем установить некоторые дополнительные модули. Для просмотра доступных опций для модулей и библиотек PHP вы можете передать результат в , которая позволит вам проматывать вывод:
Используйте клавиши стрелок вверх и вниз для проматывания списка, для выхода нажмите .
В результате вам будут показаны все опциональные компоненты, которые можно установить, сопровождаемые кратким описанием для каждого:
Чтобы получить больше информации по каждому модулю, вы можете поискать в Интернете или посмотреть полное описание пакета при помощи команды:
Ответ будет содержать много текста, среди которого есть поле . Именно оно и будет содержать расширенное описание функциональности, предоставляемой модулем.
Например, чтобы узнать назначение модуля , мы можем выполнить команду:
Помимо большого количества прочей информации, вы увидите следующее:
Если после изучение вы решили, что хотите установить пакет, вы можете сделать это используя команду как мы делали ранее при установке другого программного обеспечения.
Если мы решили, что хотим установить , мы можем ввести команду:
Для установки сразу нескольких модулей, вы можете перечислить их через пробелы следом за командой следующим образом:
Теперь ваш стек LAMP установлен и сконфигурирован. Однако перед внесением любых других изменений и перед установкой приложений нам ещё стоит протестировать настройку PHP на случай возможных проблем.
Prerequisites
In order to complete this tutorial, you will need access to an Ubuntu 20.04 server and will need to complete these steps before beginning this guide:
- Set up your server by following our Ubuntu 20.04 initial server setup guide, and ensure you have a non-root user.
- Install a LAMP stack by following our LAMP guide to install and configure this software.
-
Secure your site: WordPress takes in user input and stores user data, so it is important for it to have a layer of security. TLS/SSL is the technology that allows you to encrypt the traffic from your site so that your and your users’ connection is secure. Here are two options available to you to meet this requirement:
- If you have a domain name… you can secure your site with Let’s Encrypt, which provides free, trusted certificates. Follow our Let’s Encrypt guide for Apache to set this up.
- If you do not have a domain… and you are just using this configuration for testing or personal use, you can use a self-signed certificate instead. This provides the same type of encryption, but without the domain validation. Follow our self-signed SSL guide for Apache to get set up.
When you are finished with the setup steps, log into your server as your user and continue below.
Conclusión
Ahora que tienes una pila LAMP instalada, tienes varias opciones de tareas para hacer después. Básicamente, ya cuentas con una plataforma que te permitirá instalar la mayoría de tipos de sitios web, así como aplicaciones web en tu servidor.
Como siguiente paso inmediato, debes asegurarte que que la conexión a tu servidor web es segura, tu servidor debería prestar sus servicios mediante HTTPS. La manera más sencilla es usando nuestra guía: encriptemos Esto asegurará tu sitio con un certificado gratuito TLS/SSL.
Otras opciones muy populares que tienes son:
- Instala WordPress, el administrador de contenido más popular de internet.
- Configura PHPMyAdmin, como herramienta para administrar tus bases de datos MySQL desde un navegador web.
Nota: Actualizaremos los enlaces que aparecen en este artículo tan pronto se actualice nuestra documentación a la versión 18.04.
Установка MySQL Ubuntu 16.04
Базы данных используются сейчас почти в каждом движке интернет сайтов
Поэтому важно иметь на своём компьютере и это программное обеспечение. Установка LAMP Ubuntu 16.04 не может обойтись без базы данных, но в этой инструкции вместо MySQL мы будем использовать её улучшенную и оптимизированную версию — MariaDB
Это очень надёжный и масштабируемый сервер SQL со множеством улучшений и усовершенствований.
Установка MariaDB Ubuntu 16.04 выполняется с помощью команды:
Когда установка MySQL Ubuntu 16.04 будет завершена, мы можем переходить к настройке базы данных, для этого выполните команду:
Сначала необходимо ввести текущий пароль root: просто нажимаем Enter, поскольку шифр ещё не задан:
Далее нажимаем у, чтобы задать новый пароль:
Затем отключаем гостевые аккаунты:
Отключаем удалённый доступ через root:
Удаляем тестовые базы данных:
Перезаписываем таблицы привилегий:
Вот и всё, установка MySQL в Ubuntu 16.04 завершена, и база данных готова к работе.