Установка веб-сервера LAMP на ubuntu 20.04 LTS, оптимизированный под 1C-Битрикс.

Просмотров: 1254 | Комментариев: 0

В последнее время, плотно пересел c macOS на ubuntu, и решил настроить себе полноценное рабочее окружение для работы с сайтами локально, дабы не зависить от интернет соединения и в целом увеличить скорость работы.

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

Установка LAMP

Заходим в терминал, и переходим в режим суперпользователя (попросит ввести пароль текущего пользователя):

sudo su

Обновляем систему:

apt update
apt upgrade

Установка тасксел:

apt install tasksel

Установка LAMP:

tasksel install lamp-server

Установить пароль администратора базы данных (попросит придумать и повторить пароль):

mysql -u root -p 

Устанавливаем phpmyadmin, в процессе попрросит выбрать вебсервер, выбираем вебсервер apache2 и попросит ввести ранее введенный пароль администратора базы данных:

apt install phpmyqdmin

Так, как администратор базы данных (root) изначатьно заблокирован, создаем пользователя базы данных с полными привелегиями.

Входим в консоль mysql как root (попросит пароль):

mysql -u root -p 

Создаем пользователя:

CREATE USER 'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'localhost' IDENTIFIED BY 'ЕГО_ПАРОЛЬ';

Даем полные права этому пользователю:

GRANT ALL PRIVILEGES ON *.* TO 'ИМЯ_ПОЛЬЗОВАТЕЛЯ'@'localhost';

Применяем привелегии:

FLUSH PRIVILEGES;

Выходим из консоли mysql:

exit

Настройки Web сервера, создание сайта

Далее создаем директорию, в которой будут располагаться сайты, я использую домашнюю директорию своего пользователя, мне так удобнее. Директорию создаем не под sudo- что бы иметь на нее права (вместо "camouf" используйте свой логин):

mkdir /home/camouf/www

В этой директории создаем файл, который будет добавлять сайты (виртуальные хосты) в apache

nano /home/camouf/www/addsite.sh

В него добавляем данный скрипт:

#!/bin/bash
echo -e "33[1mВведите название проекта (Например example.com):33[0m";
read NAME_OF_PROJECT

#создаем папки проекта
sudo mkdir /home/camouf/www/$NAME_OF_PROJECT

#добавляем правила в конфигурационый файл апача
add_to_apache_conf="
<VirtualHost *:80>
	ServerName ${NAME_OF_PROJECT}
	ServerAdmin webmaster@localhost
	DocumentRoot /home/camouf/www/${NAME_OF_PROJECT}/
	<Directory /home/camouf/www/${NAME_OF_PROJECT}/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	DirectoryIndex index.php index.html index.htm
	php_admin_value short_open_tag On
	php_admin_value mbstring.func_overload 2
	php_admin_value mbstring.internal_encoding UTF-8
	php_admin_value date.timezone Europe/Moscow
	php_admin_value opcache.revalidate_freq 0
	php_admin_value opcache.max_accelerated_files 100000
	php_admin_value display_errors On
	php_admin_value max_input_vars 10000
	php_admin_value upload_max_filesize 8M
	Require all granted
	</Directory>
	ErrorLog ${APACHE_LOG_DIR}/error.log
	CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>"

#добавляем новый хост
touch /etc/apache2/sites-available/${NAME_OF_PROJECT}.conf
echo "$add_to_apache_conf" >> /etc/apache2/sites-available/${NAME_OF_PROJECT}.conf

# добавляем домен в hosts
echo "127.0.0.1 ${NAME_OF_PROJECT}" >> /etc/hosts

#включаем конфигурацию сайта
sudo a2ensite ${NAME_OF_PROJECT}

#ставим права 777
chmod -R 777 //home/camouf/www/${NAME_OF_PROJECT}

#перезапускаем апач
sudo systemctl restart apache2

echo "Сайт готов"

Делаем его исполняемым:

chmod +x /home/camouf/www/addsite.sh

Запускаем апач с правами текущегo пользователя

Так как, все созданные файлы сайта, будут созданы из под apache, нужно запускать его с от имени текущего (Вашего) пользователя. Открываем на редактирование файл запуска apache:

nano /etc/apache2/envvars

И изменяем строчки:

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

Вместо www-data пропишите логин и группу своего пользователя (обычно совпадают), в моем случае camouf

export APACHE_RUN_USER=camouf
export APACHE_RUN_GROUP=camouf
На этом все. Просто запускаем скрипт addsite.sh в терминале- он попросит ввести домен проекта и больше ни чего. После его "отработки" в директории /home/ВАШ_ПОЛЬЗОВАТЕЛЬ/www создастся директория с сайтом и в файл hosts пропишется его петля - можно сразу открыть в браузере и работать.

Как это сделать, видео (запись стрима с провисаниями)

Необходимо войти что бы оставить комментарий:
Мой youtube канал.

На нем, уже много видеоуроков по 1С-Битрикс. Как одиночные видео так и серии видеоуроков Перейти на канал

Поделиться заметкой: Спасибо, это помогает развивать сайт:

Авторизация

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