Сервер LAMP, ISPConfig, Docker, Portainer на Ubuntu 18.04
На свеже установленной Ubuntu 18.04
здесь вводим пароль который мы задали. Так же задаем пароль администратора.
Доступ к ISPConfig: http(s)://localhost:8080/
Создадим директорию проекта и перейдем в нее.
Доступ к сайту: http//localhost:8000
Доступ к portainer: http//localhost:9000
$ sudo apt update && sudo apt upgrade
Установка LAMP
Установим MySQL Server$ sudo apt install mysql-serverНастроим так чтобы было использовать пароль для пользователя root. Если вы хотите настроить root пользователя на использование пароля, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password. Для того, чтобы это сделать, войдите в оболочку MySQL в терминале:
$ sudo mysqlДалее просмотрите метод аутентификации для каждого из ваших пользователей MySQL с помощью следующей команды:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;В этом примере ваш пользователь root использует аутентификацию с помощью плагина auth_socket. Для изменения этой настройки на использование пароля используйте следующую команду ALTER USER. Не забудьте изменить password на ваш сильный пароль:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';Далее выполните команду FLUSH PRIVILEGES, которая применит внесённые изменения:
mysql> FLUSH PRIVILEGES;Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;Теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:
mysql> exitТеперь ваша система управления базами данных установлена и мы можем двигаться дальше. Установим Apache 2.4, PHP 7.2, FCGI, suExec, and Pear
$ sudo apt -y install apache2 apache2-doc apache2-utils libapache2-mod-php php7.2 php7.2-common php7.2-gd php7.2-mysql php7.2-imap php7.2-cli php7.2-cgi libapache2-mod-fcgid apache2-suexec-pristine php-pear mcrypt imagemagick libruby libapache2-mod-python php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl memcached php-memcache php-imagick php-gettext php7.2-zip php7.2-mbstring php-soap php7.2-soapВ процессе установки будет задан вопрос Web server to reconfigure automatically: выберите apache2 Запустите следующую команду для того чтобы включить модули Apache suexec, rewrite, ssl, actions,
$ sudo a2enmod suexec rewrite ssl actions include cgiRestart Apache afterwards:
$ sudo service apache2 restart
Установка ISPConfig 3.1
Для установки выполни следующие команды в терминале:$ cd /tmpНа все следющие вопросы установки можно нажать ентер кроме
$ wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1
$ tar xfz ispconfig.tar.gz
$ cd ispconfig3*/install/
$ sudo php -q install.php
MySQL root password []:
здесь вводим пароль который мы задали. Так же задаем пароль администратора.
Доступ к ISPConfig: http(s)://localhost:8080/
Установка Docker и контейнера Wordpress
Используй команды ниже для скачивания и установки Docker.$sudo apt install curlДобавим пользователя в группу
$ sudo curl -fsSL https://get.docker.com/ | sh
$ sudo usermod -aG docker USERNAMEРазлогиниться в систему и зайти снова чтобы права вступили в силу.
$ sudo service docker restartDocker установлен и можно приступить к установке WordPress.
Создадим директорию проекта и перейдем в нее.
$ mkdir ~/my_wordpress && cd my_wordpress/Создадим файл docker-compose.yml в папке проекта
$ touch docker-compose.ymlв файле вводим данные проекта:
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
Установим docker-compose
$ sudo apt install docker-composeЗапустим сайт с дериктории проекта
$ docker-compose up -d
Доступ к сайту: http//localhost:8000
Установка Рortainer
$ docker volume create portainer_data
$ docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Доступ к portainer: http//localhost:9000