One place for hosting & domains

      Краткое

      Установка комплекта Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 20.04 [Краткое руководство]


      Введение

      В этом кратком руководстве мы расскажем об установке комплекта LAMP на сервере Ubuntu 20.04.

      Более подробную версию этого обучающего руководства с подробным описанием каждого шага можно найти в статье Установка комплекта Linux, Apache MySQL, PHP (LAMP) в Ubuntu 20.04.

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

      Для выполнения этого руководства вам потребуется доступ к серверу Ubuntu 20.04 с пользователем с правами sudo.

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

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

      • sudo apt update
      • sudo apt install apache2

      После завершения установки вам нужно будет изменить настройки брандмауэра, чтобы разрешить трафик HTTP на вашем сервере. Запустите следующую команду, чтобы разрешить внешний доступ к порту 80 (HTTP):

      • sudo ufw allow in "Apache"

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

      Ubuntu 20.04 Apache по умолчанию

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

      Теперь мы установим MySQL, популярную СУБД, используемую в средах PHP.

      Используйте apt для получения и установки этого программного обеспечения:

      • sudo apt install mysql-server

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

      • sudo mysql_secure_installation

      Скрипт запросит подтверждение настройки плагина VALIDATE PASSWORD PLUGIN. Выберите Y для активации или любой другой вариант, чтобы продолжить без активации этой функции. Если вы выберете ответ «yes» («Да»), вам будет предложено выбрать уровень подтверждения паролем.

      Затем сервер попросит вас выбрать и подтвердить пароль для пользователя root MySQL. Хотя в MySQL метод аутентификации пользователя root по умолчанию не требует использования пароля даже при его наличии, задайте надежный пароль для обеспечения дополнительной безопасности.

      Для всех остальных вопросов нужно выбирать Y и нажимать ENTER в каждом диалоге.

      Примечание. На момент написания этого руководства родная библиотека MySQL PHP mysqlnd не поддерживает caching_sha2_authentication, метод аутентификации MySQL 8 по умолчанию. Поэтому при создании пользователей базы данных для приложений PHP на MySQL 8 вам нужно убедиться, что они настроены на использование вместо этого пароля mysql_native_password. Подробнее об этой процедуре можно узнать в шаге 6 нашего подробного руководства по установке LAMP в Ubuntu 20.04.

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

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

      • sudo apt install php libapache2-mod-php php-mysql

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

      Output

      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

      Шаг 4 — Создание виртуального хоста для сайта

      В этом руководстве мы настроим домен your_domain, но вы должны заменить это имя собственным доменным именем.

      В Apache в Ubuntu 20.04 по умолчанию включен один серверный блок, настроенный на обслуживание документов из каталога /var/www/html. Вместо изменения /var/www/html мы создадим внутри /var/www структуру каталогов для нашего сайта your_domain, оставив /var/www/html​​​ в качестве каталога по умолчанию для вывода в случае, если запросу клиента не соответствуют никакие другие сайты.

      Создайте следующий каталог для your_domain:

      • sudo mkdir /var/www/your_domain

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

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

      После этого откройте новый файл конфигурации в каталоге Apache sites-available с помощью любого редактора командной строки.

      • sudo nano /etc/apache2/sites-available/your_domain.conf

      В результате будет создан новый пустой файл. Вставьте следующую пустую конфигурацию:

      /etc/apache2/sites-available/your_domain.conf

      <VirtualHost *:80>
          ServerName your_domain
          ServerAlias www.your_domain
          ServerAdmin webmaster@localhost
          DocumentRoot /var/www/your_domain
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      Сохраните и закройте файл после завершения. Если вы используете nano, нажмите CTRL+X, а затем Y и ENTER.

      Теперь вы можете использовать a2ensite для активации нового виртуального хоста:

      • sudo a2ensite your_domain

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

      • sudo a2dissite 000-default

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

      • sudo apache2ctl configtest

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

      • sudo systemctl reload apache2

      Теперь ваш новый веб-сайт активен, но корневой веб-каталог /var/www/your_domain все еще пуст. Создайте файл index.html в этом расположении, чтобы убедиться, что виртуальный хост работает, как ожидалось:

      • nano /var/www/your_domain/index.html

      Внесите в файл следующее:

      /var/www/your_domain/index.html

      <html>
        <head>
          <title>your_domain website</title>
        </head>
        <body>
          <h1>Hello World!</h1>
      
          <p>This is the landing page of <strong>your_domain</strong>.</p>
        </body>
      </html>
      

      Откройте браузер и введите в адресную строку доменное имя вашего сервера или IP-адрес:

      http://server_domain_or_IP
      

      Страница будет выглядеть следующим образом:

      Тестирование виртуального хоста Apache

      Шаг 5 — Тестирование PHP с помощью Apache

      Теперь мы создадим тестовый скрипт PHP для подтверждения возможности обрабатывать и обрабатывать запросы файлов PHP в Apache.

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

      • nano /var/www/your_domain/info.php

      В результате откроется пустой файл. Добавьте в файл следующее:

      /var/www/your_domain/info.php

      <?php
      phpinfo();
      

      После завершения редактирования сохраните и закройте файл.

      Откройте браузер и введите доменное имя или IP-адрес вашего сервера, а затем название скрипта, в данном случае info.php:

      http://server_domain_or_IP/info.php
      

      Вы увидите приблизительно следующую страницу:

      PHP info в Ubuntu 20.04

      После проверки соответствующей информации о вашем сервере PHP с помощью данной страницы рекомендуется удалить созданный вами файл, поскольку он содержит конфиденциальную информацию о вашей среде PHP и о вашем сервере Ubuntu. Для этого можно использовать rm:

      • sudo rm /var/www/your_domain/info.php

      Другие обучающие руководства

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



      Source link

      Установка Nginx в Ubuntu 20.04 [Краткое руководство]


      Введение

      Nginx — один из самых популярных в мире веб-серверов, на базе которого размещены некоторые из самых крупных сайтов интернета с огромным трафиком. Обычно он использует ресурсы эффективнее, чем Apache, и может использоваться как веб-сервер или обратный прокси-сервер.

      В этом обучающем модуле мы покажем, как установить Nginx на сервере Ubuntu 20.04. Более подробную версию этого обучающего модуля можно найти в документе Установка Nginx в Ubuntu 20.04.

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

      Прежде чем начать прохождение настоящего обучающего модуля, необходимо настроить на сервере обычного пользователя без привилегий root и с привилегиями sudo. Информацию о том, как настроить стандартную учетную запись пользователя, можно найти в руководстве Начальная настройка сервера для Ubuntu 20.04​​​.

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

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

      Поскольку Nginx доступен в хранилищах Ubuntu по умолчанию, вы можете установить его с помощью системы пакетов apt.

      Обновите локальный индекс пакетов:

      Установите Nginx:

      Шаг 2 — Настройка брандмауэра

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

      Output

      Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

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

      • sudo ufw allow 'Nginx HTTP'

      Проверьте изменения:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

      Шаг 3 — Проверка веб-сервера

      Используйте команду systemd init system, чтобы проверить работу службы:

      Output

      nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

      Откройте страницу Nginx по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:

      http://your_server_ip
      

      Вы получите страницу назначения Nginx по умолчанию:

      Страница Nginx по умолчанию

      Шаг 4 — Настройка блоков сервера (рекомендуется)

      При использовании веб-сервера Nginx вы можете использовать блоки сервера (аналогичные виртуальным хостам в Apache) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. Чтобы узнать больше о настройке доменного имени в DigitalOcean, ознакомьтесь с документом «Введение в DigitalOcean DNS».

      Создайте каталог your_domain, используя флаг -p для создания необходимых родительских каталогов:

      • sudo mkdir -p /var/www/your_domain/html

      Назначьте владельца каталога:

      • sudo chown -R $USER:$USER /var/www/your_domain/html

      Разрешения корневых каталогов веб-сервера должны быть правильными, если вы не изменяли значение umask. Тем не менее вы можете проверить это с помощью следующей команды:

      • sudo chmod -R 755 /var/www/your_domain

      Создайте в качестве примера страницу index.html, используя nano или свой любимый редактор:

      • nano /var/www/your_domain/html/index.html

      Добавьте в страницу следующий образец кода HTML:

      /var/www/your_domain/html/index.html

      <html>
          <head>
              <title>Welcome to your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain server block is working!</h1>
          </body>
      </html>
      

      Сохраните файл и закройте его после завершения.

      Создайте новый серверный блок в /etc/nginx/sites-available/your_domain:

      • sudo nano /etc/nginx/sites-available/your_domain

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

      /etc/nginx/sites-available/your_domain

      server {
              listen 80;
              listen [::]:80;
      
              root /var/www/your_domain/html;
              index index.html index.htm index.nginx-debian.html;
      
              server_name your_domain www.your_domain;
      
              location / {
                      try_files $uri $uri/ =404;
              }
      }
      

      Сохраните файл и закройте его после завершения.

      Активируйте файл, создав ссылку от него в каталог sites-enabled:

      • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

      Теперь два серверных блока активированы и настроены отвечать на запросы на базе директив listen и server_name:

      • your_domain: будет отвечать на запросы your_domain и www.your_domain.
      • default: будет отвечать на любые запросы порта 80, не соответствующие двум другим блокам.

      Чтобы избежать возможной проблемы с хэшированием памяти при добавлении дополнительных имен серверов, необходимо изменить одно значение в файле /etc/nginx/nginx.conf. Откройте файл:

      • sudo nano /etc/nginx/nginx.conf

      Найдите директиву server_names_hash_bucket_size и удалите символ #, чтобы убрать режим комментариев для строки:

      /etc/nginx/nginx.conf

      ...
      http {
          ...
          server_names_hash_bucket_size 64;
          ...
      }
      ...
      

      Проверьте ошибки синтаксиса:

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

      • sudo systemctl restart nginx

      Теперь Nginx должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://your_domain, после чего должны получить примерно следующее:

      Первый серверный блок Nginx

      Заключение

      Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.

      Если вы захотите развернуть более сложный комплекс приложений, ознакомьтесь со статьей «Настройка комплекта LEMP в Ubuntu 20.04».



      Source link

      Установка веб-сервера Apache в Ubuntu 20.04 [Краткое руководство]


      Введение

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

      В этом обучающем руководстве мы расскажем, как установить веб-сервер Apache на сервере Ubuntu 20.04. Более подробную версию этого обучающего руководства можно найти в документе Установка веб-сервера Apache в Ubuntu 20.04.

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

      Для прохождения этого обучающего модуля вам потребуется следующее:

      • Один сервер Ubuntu 20.04 и обычный non-root user с привилегиями sudo. Также вам потребуется включить базовый брандмауэр, чтобы заблокировать все порты, кроме необходимых. Вы научитесь настраивать учетную запись обычного пользователя и брандмауэр для вашего сервера, следуя указаниям руководства Начальная настройка сервера Ubuntu 20.04.

      Создав учетную запись, войдите в систему как non-root user.

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

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

      Обновите локальный индекс пакетов:

      Установите пакет apache2:

      Шаг 2 — Настройка брандмауэра

      Проверьте доступные профили приложений ufw:

      Output

      Available applications: Apache Apache Full Apache Secure OpenSSH

      Мы активируем профиль с наибольшими ограничениями, который будет разрешать заданный трафик, а именно трафик на порту 80 (обычный веб-трафик без шифрования):

      Проверьте изменения:

      Output

      Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Apache ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Apache (v6) ALLOW Anywhere (v6)

      Шаг 3 — Проверка веб-сервера

      Используйте команду systemd init system, чтобы проверить работу службы:

      • sudo systemctl status apache2

      Output

      apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese> Active: active (running) since Tue 2020-04-28 23:06:40 UTC; 56s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 13785 (apache2) Tasks: 55 (limit: 1137) Memory: 5.3M CGroup: /system.slice/apache2.service ├─13785 /usr/sbin/apache2 -k start ├─13787 /usr/sbin/apache2 -k start └─13788 /usr/sbin/apache2 -k start

      Откройте страницу Apache по умолчанию, чтобы подтвердить работу программного обеспечения через ваш IP-адрес:

      http://your_server_ip
      

      Вы должны получить веб-страницу Ubuntu 20.04 Apache по умолчанию:

      Страница Apache по умолчанию

      Шаг 4 — Настройка виртуальных хостов (рекомендуется)

      При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналогичные серверным блокам в Nginx) для инкапсуляции данных конфигурации и размещения на одном сервере нескольких доменов. Мы создадим домен your_domain, но вы должны заменить это имя собственным доменным именем. Дополнительную информацию о настройке доменного имени с помощью платформы DigitalOcean можно найти в нашей статье Введение в DigitalOcean DNS.

      Создайте каталог для your_domain:

      sudo mkdir /var/www/your_domain
      

      Назначьте владельца каталога:

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

      Разрешения корневых каталогов веб-сервера должны быть правильными, если вы не изменяли значение unmask. Тем не менее, вы можете проверить это с помощью следующей команды:

      • sudo chmod -R 755 /var/www/your_domain

      Создайте в качестве примера страницу index.html, используя nano или свой любимый редактор:

      • nano /var/www/your_domain/index.html

      Добавьте в страницу следующий образец кода HTML:

      /var/www/your_domain/index.html

      <html>
          <head>
              <title>Welcome to Your_domain!</title>
          </head>
          <body>
              <h1>Success!  The your_domain virtual host is working!</h1>
          </body>
      </html>
      

      Сохраните файл и закройте его после завершения.

      Создайте новый файл виртуального хоста в /etc/apache2/sites-available/your_domain.conf:

      • sudo nano /etc/apache2/sites-available/your_domain.conf

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

      /etc/apache2/sites-available/your_domain.conf

      <VirtualHost *:80>
          ServerAdmin webmaster@localhost
          ServerName your_domain
          ServerAlias your_domain
          DocumentRoot /var/www/your_domain
          ErrorLog ${APACHE_LOG_DIR}/error.log
          CustomLog ${APACHE_LOG_DIR}/access.log combined
      </VirtualHost>
      

      Сохраните файл и закройте его после завершения.

      Активируйте файл с помощью команды a2ensite:

      • sudo a2ensite your_domain.conf

      Отключите сайт по умолчанию, определеный в 000-default.conf:

      • sudo a2dissite 000-default.conf

      Проверьте наличие ошибок конфигурации:

      • sudo apache2ctl configtest

      Вы должны получить следующий результат:

      Output

      Syntax OK

      Перезапустие Apache для внесения изменений:

      • sudo systemctl restart apache2

      Теперь Apache должен обслуживать ваше доменное имя. Вы можете проверить это, открыв в браузере адрес http://your_domain, после чего должны получить примерно следующее:

      Пример виртуального хоста Apache

      Заключение

      Теперь вы установили веб-сервер и у вас есть богатые возможности выбора типа обслуживаемого контента и технологий для расширения возможностей пользователя.

      Если вы хотите развернуть более сложный набор обслуживания приложений, ознакомьтесь со статьей Настройка стека LAMP в Ubuntu 20.04.



      Source link