Apache в Ubuntu 18.04 установка
Первое с чего надо начать, обновить списки пакетов, чтобы вы получили последнюю версию и зависимости для Apache. Потом следует команда загрузит и установит Apache:
1. sudo apt update && 2. sudo apt install apache2
Настройте брандмауэр
Настоятельно рекомендуется настроить брандмауэр для дополнительной безопасности.
Мы начнем с добавления правила брандмауэра для SSH, потому что, если вы настраиваете сервер удаленно, вам не нужно блокироваться при включении брандмауэра! Возможно, вы уже сделали это в нашем Руководстве по первоначальной настройке сервера для Ubuntu 18.04 , но на всякий случай добавьте его снова на всякий случай. Если правило уже существует, команда просто пропустит его.
sudo ufw allow OpenSSH
Если поступает сообщение об ошибке «ОШИБКА: может быть найден профиль, соответствующий openSSH» , это означает, что вы настраиваете сервер не удаленно и игнорируйте его.
Добавьте правила брандмауэра для Apache.
sudo ufw allow in "Apache Full"
Можно включить брандмауэр, если это еще не сделано.
sudo ufw enable
Проверить текущее состояние.
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Apache Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Apache Full (v6)
Мы наблюдаем, что сетевой экран активен и с правилами для служб. v6 это сокращение от IPv6. Новый Сетевой-протокол, он введен решать проблему исчерпания адресов IPv4.
Проверка Apache
Проверим, правильность установки Apache, его состояние на данный момент.
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 2018-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 ubuntu1804 systemd[1]: Starting The Apache HTTP Server...
Mar 31 08:44:04 ubuntu1804 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 ubuntu1804 systemd[1]: Started The Apache HTTP Server.
Если вы видите вышеуказанную ошибку , проигнорируйте ее.
Нажмите q
выйдите из сервера.
Служба Apache запущена и работает, Смотрите тестовую веб-страницу Apache через браузер. Введите адрес вашего сервера в адресную строку и нажмите ENTER
.
Чтобы узнать IP, выполните следующие команды.
sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
Готово! Страница приветствия Apache по умолчанию в папке /var/www/html
. Для редактирования этого файла:
sudo nano /var/www/html/index.html
Нажмите CTRL
+, X
чтобы выйти из текстового редактора nano.
Сервер Apache в рабочем состоянии! Добавляйте свои собственные HTML-файлы и изображения в /var/www/html
каталог, как захотите.
Установим MySQL
Пожалуй начнем.
У нас есть две команды, объединенные в одну, используем .
sudo apt update && sudo apt install mysql-server
Нажмите y
и ENTER
когда будет предложено установить пакет MySQL.
Завершая установку пакета проверяем, работу службы 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 2018-04-02 02:40:59 CEST; 2min 47s ago
Main PID: 18476 (mysqld)
Tasks: 27 (limit: 4915)
CGroup: /system.slice/mysql.service
└─18476 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Apr 02 02:40:59 ubuntu1804 systemd[1]: Starting MySQL Community Server...
Apr 02 02:40:59 ubuntu1804 systemd[1]: Started MySQL Community Server.
Нажмите q
выйдите из режима обслуживания.
Настроим безопасность MySQL
Запускаем чтобы настроить безопасность для вашего сервера MySQL.
sudo mysql_secure_installation
Если вы создали пароль root на шаге 1, вам может быть предложено ввести его здесь. В противном случае вам будет предложено создать его.
Вам будет задан вопрос, хотите ли вы установить плагин Validate Password. Это на самом деле не нужно, если вы по какой-то причине не хотите применять строгие политики паролей.
Securing the MySQL server deployment.
Connecting to MySQL using a blank password.
VALIDATE PASSWORD PLUGIN 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 plugin?
Press y|Y for Yes, any other key for No:
Нажмите ENTER
здесь, если вы не хотите устанавливать плагин проверки пароля.
Please set the password for root here.
New password:
Re-enter new password:
Если вы не создали пароль root на шаге 1, вы должны создать его здесь.
Сгенерируйте надежный пароль и введите его. Обратите внимание, что при вводе паролей в 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 и запустить version
команду.
sudo mysqladmin -p -u root version
Введите пароль root MySQL, который вы создали ранее, и вы должны увидеть следующее:
mysqladmin Ver 8.42 Distrib 5.7.21, for Linux on x86_64
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.7.21-1ubuntu1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 2 hours 34 min 19 sec
Threads: 1 Questions: 15 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.001
Вы успешно установили и настроили MySQL!
Установите PHP
Давайте начнем с обновления хранилища и установки пакета PHP с помощью apt
. Мы также установить еще два пакета libapache2-mod-php
и php-mysql
, что позволит PHP для взаимодействия с базой данных MySQL.
sudo apt update && sudo apt install php libapache2-mod-php php-mysql
Нажмите y
и ENTER
когда будет предложено установить пакет PHP.
7. Тест PHP
После завершения установки мы можем проверить PHP в командной строке.
php -version
Если PHP установлен правильно, вы должны увидеть нечто похожее ниже:
PHP 7.2.3-1ubuntu1 (cli) (built: Mar 14 2018 22:03:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.3-1ubuntu1, Copyright (c) 1999-2018, by Zend Technologies
Большой! Теперь давайте проверим PHP для Apache.
Создайте новый файл с именем info.php
в корневом каталоге вашего документа .
Корнем документа по умолчанию в Ubuntu 18.04 является /var/www/html/
, или, если вы следовали нашему предыдущему руководству Apache по настройке виртуальных хостов, ваш корень документа может быть где-то вроде, /var/www/mytest1.com/public_html
где mytest1.com — это имя вашего собственного домена.
После того, как вы подтвердите местоположение корневого каталога вашего документа, создайте новый файл с именем, info.php
используя nano
текстовый редактор.
В этом примере мы создадим новый файл в /var/www/html/
sudo nano /var/www/html/info.php
После nano
открытия редактора вставьте следующий код PHP. (При использовании PuTTY щелкните правой кнопкой мыши, чтобы вставить)
<?php
phpinfo();
Сохраните файл и выйдите. (Нажмите CTRL
+ X
, нажмите, Y
а затем нажмите ENTER
)
Теперь мы можем загрузить этот файл в браузере, перейдя в http://example.com/info.php
или http://your_ip/info.php
Совет: если вы не знаете свой IP, вы можете узнать с помощью:
sudo ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
Ниже мы видим, что страница информации PHP работает правильно.
Убедившись, что PHP работает правильно, важно удалить info.php
его, поскольку он содержит информацию, которая может быть полезна хакерам.
sudo rm /var/www/html/info.php