Установка веб-сервера LAMP на ubuntu 20.04 LTS, оптимизированный под 1C-Битрикс.
- Подробности
- Категория: Заметки из других источников
- Опубликовано 18 Январь 2024
- Автор: Николай
- Просмотров: 474
Вот ссылка на оригинал статьи:
https://bazarow.ru/blog-note/9268/
Но автор, почему-то, удалил эту статью у себя.
Установка LAMP
Заходим в терминал и переходим в режим суперпользователя (попросит ввести пароль текущего пользователя):
sudo su
Обновляем систему:
apt update
apt upgrade
Установка тасксел:
apt install tasksel
Установка LAMP:
tasksel install lamp-server
Установить пароль администратора базы данных (попросит придумать и повторить пароль):
service mysql start
mysql -u root -p
Устанавливаем phpmyadmin, в процессе попросит выбрать веб-сервер. Выбираем веб-сервер apache2, затем попросит ввести ранее введенный пароль администратора базы данных:
apt install phpmyadmin
Так как администратор базы данных (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 "Введите название проекта (Например example.com):";
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}
#перезапускаем апач
service apache2 restart
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 пропишется его петля - можно сразу открыть в браузере и работать.
1С-Битрикс на mysql-8
Если возникают проблемы с работой 1С-Битрикс на mysql версии 8, можно или даунгрейднуть mysq до версии 5.7 или внести вот такие параметры в конфигурацию mysql
[mysql]
default-character-set = utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8