Как установить стек lamp (apache, mysql, php) на ubuntu 20.04

Установка MySQL / MariaDB

Следующий этап — установка СУБД, то есть системы управления базами данных.

Самый распространенный вариант — это MySQL, но вместо нее можно, например, установить MariaDB. Управление MariaDB принципиально не отличается от MySQL, и вы можете без особых затруднений попробовать использовать именно MariaDB, чтобы самостоятельно оценить работу с ней. Почти полная совместимость MariaDB с MySQL позволит вам в случае необходимости легко заменить одну СУБД на другую (аналогичной версии) без опасения потерять какие-либо данные и необходимости изменять настройки остального ПО.

Если вы устанавливаете MySQL, выполните команду:

sudo apt-get install mysql-server

Далее будет необходимо задать пароль суперпользователя БД и нажать Enter, после чего повторить ввод пароля:

Если вы устанавливаете MariaDB, выполните команду:

sudo apt-get install mariadb-server mariadb-client

Следующие шаги практически идентичны для обеих СУБД.

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

sudo mysql_secure_installation

Далее последовательно ответьте на запросы системы.

В случае с MySQL:

  • Enter current password for root — введите пароль суперпользователя БД.
  • Would you like to setup VALIDATE PASSWORD plugin — плагин валидации паролей. Его использование необязательно; при включении данного плагина все пароли, которые не соответствуют требованиям безопасности (слишком слабые) будут отвергаться MySQL. Для включения плагина нажмите y; либо нажмите любую другую клавишу, чтобы продолжить без запуска плагина.
  • Change the root password — нажмите n, чтобы не менять пароль.

В случае с MariaDB:

  • Enter current password for root — нажмите Enter.
  • Change the root password — нажмите y, чтобы задать пароль root-пользователя базы данных.
  • New password — введите нужный пароль.
  • Re-enter new password — повторно введите пароль.

Далее для обеих СУБД:

  • Remove anonymous users — нажмите y, чтобы удалить анонимных пользователей.
  • Disallow root login remotely — введите y, чтобы запретить удаленный доступ для root.
  • Remove test database and access to it — нажмите y, чтобы удалить тестовую базу.
  • Reload privilege tables now — введите y, чтобы обновить таблицы привилегий пользователей.

База данных установлена.

Для подключения к БД используйте команду:

mysql -u root -p

Далее потребуется ввести пароль root, заданный при настройке БД.

Для выхода из консоли MySQL введите \q.

How to Use this Playbook

The first thing we need to do is obtain the LAMP playbook and its dependencies from the do-community/ansible-playbooks repository. We need to clone this repository to a local folder inside the Ansible Control Node.

In case you have cloned this repository before while following a different guide, access your existing copy and run a command to make sure you have updated contents:

If this is your first time using the repository, you should start by cloning the repository to your home folder with:

The files we’re interested in are located inside the folder, which has the following structure:

Here is what each of these files are:

  • : Template file for setting up a PHP test page on the web server’s root
  • : Template file for setting up the Apache VirtualHost.
  • : Variable file for customizing playbook settings.
  • : The playbook file, containing the tasks to be executed on the remote server(s).
  • : A text file containing information about this playbook.

We’ll edit the playbook’s variable file to customize the configurations of both MySQL and Apache. Access the directory and open the file using your command line editor of choice:

This file contains a few variables that require your attention:

vars/default.yml

The following list contains a brief explanation of each of these variables and how you might want to change them:

  • : The desired password for the root MySQL account.
  • : A remote non-root user on the Ansible host that will be set as the owner of the application files.
  • : Your domain name.
  • : The name of the configuration file that will be created within Apache.
  • : HTTP port for this virtual host, where is the default.
  • : Whether or not to disable the default website that comes with Apache.

Once you’re done updating the variables inside , save and close this file. If you used , do so by pressing , , then .

You’re now ready to run this playbook on one or more servers. Most playbooks are configured to be executed on every server in your inventory, by default. We can use the flag to make sure that only a subset of servers, or a single server, is affected by the playbook. We can also use the flag to specify which user on the remote server we’re using to connect and execute the playbook commands on the remote hosts.

To execute the playbook only on , connecting as , you can use the following command:

You will get output similar to this:

Note: For more information on how to run Ansible playbooks, check our Ansible Cheat Sheet Guide.

When the playbook is finished running, go to your web browser and access the host or IP address of the server, as configured in the playbook variables, followed by :

You will see a page like this:

Because this page contains sensitive information about your PHP environment, it is recommended that you remove it from the server by running an command once you have finished setting it up.

Как подобрать трансформатор и выбрать сечение кабеля между светильником и трансформатором

Мощность трансформатора обозначается в Вольт×Ампер (ВА) и указывается на корпусе. Чтобы рассчитать количество светильников, которые можно подключить к трансформатору, нужно чтобы мощность всех ламп этих светильников в сумме была ниже мощности трансформатора. Или наоборот. Нужно сложить все мощности ламп планируемых светильников и купить трансформатор с большей номинальной мощностью.

Например: 7 Светильников по 20 Ватт нужно запитать от трансформатора мощностью 150 ВА. Этим же трансформатором можно запитать 4 светильника по 35 Ватт и 3 светильника по 50 Ватт.

Для электропроводки освещения с трансформаторами нужно помнить, что чем дальше трансформатор от светильника, тем больше должно быть сечение жил кабеля. Так для расстояния от трансформатора до светильника менее 1,3 метра достаточно кабеля с сечением жил 1,5 мм2.Для 2-2,5 метров нужен кабель с сечение жил 2,5 мм2. Речь идет об электрокабеле с медными жилами. Кабель с сечением жил толще 2,5 мм2 применять не следует.

Шаг 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

После внесения правок сохраните и закройте файл сочетанием клавиш CTRL-X. Вам придется подтвердить операцию вводом Y и затем нажатием клавиши ENTER для подтверждения места сохранения файла.

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

Мы также можем проверить статус сервиса используя :

Установка модулей PHP

Чтобы расширить функциональность PHP, мы можем установить некоторые дополнительные модули.

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

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

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

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

Ответ будет содержать много текста, среди которого есть поле . Именно оно и будет содержать расширенное описание функциональности, предоставляемой модулем.

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

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

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

Если мы решили, что хотим установить , мы можем ввести команду:

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

Теперь ваш стек LAMP установлен и сконфигурирован. Однако нам еще предстоит протестировать PHP.

Step 6: Finish the Installation in your Web Browser

Now you can access the Nextcloud web install wizard using HTTPS connection.

https://nextcloud.example.com

To complete the installation, you need to create an admin account, enter the path of Nextcloud data folder, enter database details you created in step 2. You can use the default as host address, or you can enter , as MariaDB listens on port 3306.

The data folder is where users’ files are stored. For security, it’s best to place the data directory outside of Nextcloud webroot directory. So instead of storing users’ files under , we can change it to . which can be created with the following command:

sudo mkdir /var/www/nextcloud-data

Then make sure Apache user () has write permission to the data directory.

sudo chown www-data:www-data /var/www/nextcloud-data -R

Установка PHP

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

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

При этом будет установлена последняя доступная в репозиториях Ubuntu версия PHP (на данный момент PHP 7.2) и некоторые дополнительные компоненты, например: libapache2-mod-php7.2 libsodium23 php-common php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline

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

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

Ускорение работы Apache изменениями во время выполнения

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

Поиск DNS

Apache может тратить время на определение хоста каждого IP, с которого приходит запрос. Это замедляет обработку запроса, а также приводит к пустой трате ресурсов. Чтобы избежать этого, нужно отключить опцию HostnameLookups.

При настройке директив Allow from или Deny from используйте IP-адреса вместо доменных имён. Иначе будет осуществляться двойной поиск имени DNS, который уменьшит производительность сервера.

Настройка AllowOverride

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

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

Настройки FollowSymLinks и SymLinksIfOwnerMatch

Настройка Apache FollowSymLinks сообщает серверу, что нужно проверять символические ссылки и проходить по ним. Если она имеет значение Off, Apache придётся выполнять дополнительные проверки, что замедлит его работу.

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

Лучше всего активировать директиву FollowSymLinks и выключить директиву ‘SymLinksIfOwnerMatch’. Но это может привести к проблемам с безопасностью, поэтому окончательное решение остается за вами.

Согласование содержимого (Content Negotiation)

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

Если согласование содержимого необходимо для сайта, можно снизить задержки, используя файлы type-map вместо директивы Options MultiViews. Ее применение увеличивает задержку.

Настройка MaxClients

Настройка MaxClients устанавливает лимит количества одновременных запросов, которое может поддерживаться Apache. Если это значение слишком мало, запросы станут в очередь, и не будут обрабатываться.

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

Настройки MinSpareServers, MaxSpareServers и StartServers

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

Если значение MinSpareServers слишком низкое, и на сервер поступает одновременно несколько запросов, Apache создаст дополнительные дочерние процессы. Это снижает возможность быстрого ответа на запрос клиента.

Значение MaxSpareServers не должно быть слишком большим. Так как стоящие в очереди на обработку дочерние процессы потребляют лишние серверные мощности. Нужно установить эти значения в оптимальном диапазоне, чтобы сбалансировать использование ресурсов и производительность.

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

Настройка MaxRequestsPerChild

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

Настройка KeepAlive и KeepAliveTimeout

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

KeepAliveTimeout определяет время ожидания следующего запроса. Если значение большое, дочерние процессы могут расходовать ресурсы, ожидая следующего запроса. Оптимальное значение – 2-5 секунд для небольших объемов трафика и 10 секунд для высоконагруженных серверов.

Timeout

Устанавливает время ожидания запроса от посетителя. При больших объемах трафика значение параметра должно быть не менее 120 секунд. Но лучше держать это значение минимальным. Это позволяет предотвратить излишнее расходование ресурсов.

Сжатие и кэширование HTTP

Сжатие HTTP применяется для ускорения работы серверов Apache. Сервер применяет к телу ответа шифрование gzip или deflate перед тем, как отправить его клиенту. Затем клиент распаковывает полученные данные. Данные сжимаются только если браузер запрашивает сжатие. Сжатие HTTP включается в Apache с помощью модуля ‘mod_deflate’.

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

Модули mod_expires и mod_headers для настройки кэша через HTTP- заголовки, присылаемые с сервера. С помощью директив cache-control можно управлять правилами кэширования, чтобы ускорить работу Apache.

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

How to Move the Data Directory

In case you need to move the NextCloud data directory, there are 4 steps to accomplish this. First, you need to use the command to copy the data directory to the new directory. For example, the mount point of my external hard drive is . I create the new data directory on the external hard drive.

sudo mkdir /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Then I copy the original data directory to the new data directory. flag means the copy operation is recursive.

sudo cp /var/www/nextcloud-data/* /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

You also need to copy the file.

sudo cp /var/www/nextcloud-data/.ocdata /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/

Next, you need to set (Apache user) as the owner.

sudo chown www-data:www-data /media/linuxbabe/b43e4eea-9796-4ac6-9c48-2bcaa46353731/nextcloud-data/ -R

Lastly, you need to edit the file.

sudo nano /var/www/nextcloud/config/config.php

Find the following line and change the value of .

'datadirectory' => '/var/www/nextcloud-data',

Save and close the file. Reload NextCloud web page and you are done.

Step 6 — Completing the Installation Through the Web Interface

Now that the server configuration is complete, we can complete the installation through the web interface.

In your web browser, navigate to your server’s domain name or public IP address:

Select the language you would like to use:

Next, you will come to the main setup page.

Select a name for your WordPress site and choose a username. It is recommended to choose something unique and avoid common usernames like “admin” for security purposes. A strong password is generated automatically. Save this password or select an alternative strong password.

When you click ahead, you will be taken to a page that prompts you to log in:

Once you log in, you will be taken to the WordPress administration dashboard:

At this point, you can begin to design your WordPress website! If this is your first time using WordPress, explore the interface a bit to get acquainted with your new CMS.

Step 8: Configure Redis Cache for NextCloud

If you go to your NextCloud settings -> overview page, you might see the following warning:

No memory cache has been configured. To enhance your performance please configure a memcache if available.

We will enable memory caching for nextCloud by using Redis. Run the following command to install Redis server from Ubuntu repository.

sudo apt install redis-server

You can check the version with:

redis-server -v

Sample output:

Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923

Now we can check if redis server is running.

systemctl status redis

Hint: If the above command didn’t quit immediately, you can press the Q key to gain back control of the terminal.

From the above screenshot, we can see that it’s running and auto-start is enabled. If for any reason it’s not running, execute the following command:

sudo systemctl start redis-server

And if auto-start at boot time is not enabled, you can use the following command to enable it:

sudo systemctl enable redis-server

In order to configure Redis as a cache for nextCloud, we need to install the PHP extension for interfacing with Redis.

sudo apt install php-redis

Check if the extension is enabled.

php --ri redis

We can see that Redis extension is enabled. If it’s not enabled, run the following command:

sudo phpenmod redis

You may also need to reload Apache if the redis extension is still not enabled.

sudo systemctl reload apache2

Next, edit nextCloud configuration file.

sudo nano /var/www/nextcloud/config/config.php

Add the following lines above the ending line.

'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     ),

Save and close the file. Then restart Apache and PHP-FPM.

sudo systemctl restart apache2 php7.4-fpm

Now go to NextCloud settings -> overview page again and refresh the web page, the warning about memory caching should be gone.

Steps to install LAMP Server on Ubuntu 18.04

Step 1. Install Apache web server

First, we are going to install Apache web server on Ubuntu 18.04. Use the following command to install Apache on Ubuntu.

Output:

dhani@ubuntu-server:~$ sudo apt install apache2
 password for dhani: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  apache2-bin apache2-data apache2-utils libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap liblua5.2-0 ssl-cert
Suggested packages:
  apache2-doc apache2-suexec-pristine | apache2-suexec-custom openssl-blacklist
The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapr1 libaprutil1
  libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.2-0 ssl-cert
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,727 kB of archives.
After this operation, 6,994 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Now open a web browser and type the server IP address. For example:

You should see something like this

Step 2. Install MariaDB Server

Now we are going to install MariaDB Server on Ubuntu 18.04. Please also read my other tutorial to install MariaDB on Debian 9 Server. But anyway, you can use this simple command to install it.

Secure MariaDB

Please follow on screen installation wizard. You will be asked to change password for root user etc. 

Start MariaDB Service

OK at this point, MariaDB is ready. 

Step 3. Install PHP

Next, we are going to install PHP on Ubuntu 18.04. 

Output

dhani@ubuntu-server:~$ sudo apt install php php-mysql
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libapache2-mod-php7.1 php-common php7.1 php7.1-cli php7.1-common php7.1-json
  php7.1-mysql php7.1-opcache php7.1-readline
Suggested packages:
  php-pear
The following NEW packages will be installed:
  libapache2-mod-php7.1 php php-common php-mysql php7.1 php7.1-cli php7.1-common
  php7.1-json php7.1-mysql php7.1-opcache php7.1-readline
0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,790 kB of archives.
After this operation, 15.1 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Ok done. Now we have installed Apache web server, MariaDB and also PHP. Now our Ubuntu 18.04 is ready for powering up some web applications. Thanks for reading this post, please share if you think this was useful and leave us comments if any query. Cheers.

Как использовать этот сценарий

В первую очередь нам нужно получить сценарий LAMP и его зависимости из репозитория do-community/ansible-playbooks. Нам нужно будет клонировать этот репозиторий в локальную папку внутри узла управления Ansible.

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

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

Файлы, которые нас интересуют, находятся в папке , которая имеет следующую структуру:

Ниже представлены все эти файлы:

  • : шаблон для настройки тестовой страницы PHP в корне веб-сервера
  • : шаблон для настройки Apache VirtualHost.
  • : файл переменных для настройки параметров сценария.
  • : файл сценария, содержащий задачи, которые будут выполняться на удаленном сервере (или серверах).
  • : текстовый файл, содержащий информацию об этом сценарии.

Мы изменим файл переменных сценария для настройки конфигураций MySQL и Apache. Перейдите в директорию и откройте файл с помощью вашего редактора командной строки:

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

vars/default.yml

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

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

После завершения обновления переменных в сохраните и закройте этот файл. Если вы используете , нажмите , , затем .

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

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

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

Примечание. Дополнительную информацию о запуске сценариев Ansible см. в нашей шпаргалке по Ansible.

После завершения работы сценария откройте ваш браузер и перейдите на хост или IP-адрес сервера, в соответствии с настройками переменных сценария, добавив :

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

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

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.

Установка MySQL

Далее необходимо установить систему управления базами данных. MySQL является наиболее распространенной СУБД, ее относительно легко установить и начать работать. Это вполне быстрая система из-за того, что в ней не реализован полный стандарт SQL и столько типов данных, сколько в других СУБД (в частности, PostgreSQL). Это делает MySQL отличным инструментом для использования при написании простых приложений, которые быстро работают и просты в настройке, но не требуют слишком сложного функционирования.

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

После установки рекомендуется запускать скрипт безопасности:

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

Создание пользователя

Сейчас мы подключились к серверу от имени root-пользователя. Так как root-пользователь обладает максимальными привилегиями в системе, работать от его имени небезопасно. Рекомендуется создать обычного пользователя, от имени которого выполнять все действия (используя sudo).

Создадим пользователя с именем pingvinus (вместо pingvinus укажите любое желаемое имя):

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

Затем появится запрос на ввод дополнительной информации о пользователе. Вы можете ничего не вводить, а просто нажимать Enter на каждый запрос.

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

Далее мы настроим файрволл UFW. Настройку файрвола можно производить от пользователя root. После настройки можно будет войти уже под пользователем, которого вы только что создали.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: