Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
wiki:drupal8 [2017/05/06 21:30] [включаем uploadprogress] |
wiki:drupal8 [2019/12/14 23:24] [Резервное копирование] |
||
---|---|---|---|
Строка 7: | Строка 7: | ||
===== Настройка apache2 ===== | ===== Настройка apache2 ===== | ||
- | добавляем в sudo mcedit /etc/apache2/sites-available/drupal8.conf следующие строки: | + | добавляем в sudo nano /etc/apache2/sites-available/drupal8.conf следующие строки: |
<code><VirtualHost *:80> | <code><VirtualHost *:80> | ||
ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
Строка 13: | Строка 13: | ||
DocumentRoot /var/www/drupal8/web | DocumentRoot /var/www/drupal8/web | ||
<Directory /var/www/drupal8/web/> | <Directory /var/www/drupal8/web/> | ||
- | Options FollowSymlinks | + | Options +FollowSymlinks -MultiViews |
AllowOverride All | AllowOverride All | ||
</Directory> | </Directory> | ||
Строка 23: | Строка 23: | ||
===== Настройка php ===== | ===== Настройка php ===== | ||
Включаем php в виде модуля апачи:<code>sudo apt install php7.0 libapache2-mod-php7.0 | Включаем php в виде модуля апачи:<code>sudo apt install php7.0 libapache2-mod-php7.0 | ||
- | sudo a2enmod rewrite</code> | + | sudo a2enmod rewrite |
+ | sudo apt install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext</code> | ||
+ | ==== включаем uploadprogress ==== | ||
+ | <code>sudo add-apt-repository ppa:ondrej/php | ||
+ | sudo apt-get update && sudo apt upgrade | ||
+ | sudo apt install php-uploadprogress | ||
+ | sudo service apache2 restart</code> | ||
===== Обновление composer ===== | ===== Обновление composer ===== | ||
- | <code>cd ~/Загрузки | + | <code>mkdir Загрузки && cd ~/Загрузки |
wget https://getcomposer.org/installer | wget https://getcomposer.org/installer | ||
php installer | php installer | ||
sudo mv composer.phar /usr/local/bin/composer | sudo mv composer.phar /usr/local/bin/composer | ||
</code> | </code> | ||
+ | ===== Настройка ftp сервера ===== | ||
+ | Для загрузки файлов в файле настройке сервера sudo nano /etc/vsftpd.conf разрешаем право на запись: write_enable=YES и local_umask=022 . Далее рестарт сервера <code>sudo service vsftpd restart</code> | ||
+ | |||
===== Создание БД ===== | ===== Создание БД ===== | ||
mysql будет спрашивать root пароль который вы устанавливали при установке mysql. | mysql будет спрашивать root пароль который вы устанавливали при установке mysql. | ||
- | <code>mysql -u root -p -e "CREATE DATABASE drupal8db CHARACTER SET utf8 COLLATE utf8_general_ci; | + | <code>mysql -u root -p -e "CREATE DATABASE drupal8db CHARACTER SET utf8 COLLATE utf8_bin;" |
- | CREATE USER drupal8db@localhost IDENTIFIED BY 'password'; | + | mysql -u root -p -e "CREATE USER drupal8db@localhost IDENTIFIED BY 'password';" |
- | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal8db.* TO 'drupal8db'@'localhost' IDENTIFIED BY 'password';"</code> | + | mysql -u root -p -e "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal8db.* TO 'drupal8db'@'localhost' IDENTIFIED BY 'password';" |
+ | mysql -u root -p -e "FLUSH privileges;" | ||
+ | </code> | ||
===== Инсталляция сайта ===== | ===== Инсталляция сайта ===== | ||
<code>cd /var/www | <code>cd /var/www | ||
Строка 41: | Строка 52: | ||
mkdir drupal8/config | mkdir drupal8/config | ||
mkdir drupal8/config/sync | mkdir drupal8/config/sync | ||
- | sudo chown -R www-data:www-data /var/www/drupal8 | + | sudo chown -R www-data:www-data /var/www/drupal8/config/sync |
cd drupal8/web | cd drupal8/web | ||
- | ../vendor/bin/drush site-install --db-url=mysql://drupal8db:password@localhost/drupal8db --locale=ru-RU --site-name="Drupal 8 сайт"</code>сохраняем логин и пароль, добавляем пару модулей<code>cd .. | + | ../vendor/bin/drush site-install --db-url=mysql://drupal8db:password@localhost/drupal8db --site-name="Drupal 8 сайт"</code>сохраняем логин и пароль, добавляем пару модулей<code>cd .. |
- | composer require drupal/metatag --prefer-dist | + | composer require drupal/captcha --prefer-dist |
- | composer require drupal/bootstrap --prefer-dist</code> | + | composer require drupal/recaptcha --prefer-dist |
+ | composer require drupal/metatag --prefer-dist</code> | ||
===== Завершающие настройки ===== | ===== Завершающие настройки ===== | ||
- | ==== ftp сервер ==== | ||
- | Для загрузки файлов в файле настройке сервера sudo mcedit /etc/vsftpd.conf разрешаем право на запись: write_enable=YES и local_umask=022 . Далее рестарт сервера <code>sudo service vsftpd restart</code> | ||
==== устанавливаем права ==== | ==== устанавливаем права ==== | ||
<code>chmod 544 /var/www/drupal8/web/sites/default/settings.php</code> | <code>chmod 544 /var/www/drupal8/web/sites/default/settings.php</code> | ||
- | в файл mcedit /var/www/drupal8/web/sites/default/settings.php добавляем строки с вашим айпи:<code>$settings['trusted_host_patterns'] = array( | + | в файл nano /var/www/drupal8/web/sites/default/settings.php добавляем строки с вашим айпи:<code>$settings['trusted_host_patterns'] = array( |
'^192\.168\.1\.39$', | '^192\.168\.1\.39$', | ||
'^127\.0\.0\.1$', | '^127\.0\.0\.1$', | ||
Строка 62: | Строка 72: | ||
Заходим на сайт http://192.168.1.39 . Входим по логину и паролю который выдали при инсталляции сайта. | Заходим на сайт http://192.168.1.39 . Входим по логину и паролю который выдали при инсталляции сайта. | ||
===== Обслуживание===== | ===== Обслуживание===== | ||
+ | прописываем drush для удобства в переменную path | ||
+ | <code> ../vendor/drush/drush/drush init --add-path=/var/www/drupal8/vendor/bin</code> | ||
==== Резервное копирование ==== | ==== Резервное копирование ==== | ||
+ | у меня получился такой скрипт backup.sh: | ||
- | <code>cd /var/www/drupal8/web | + | <code>backupdir="/home/yuraxu1804/backup/$(date)" |
+ | mkdir "$backupdir" | ||
+ | cd /var/www/drupal8/web | ||
../vendor/bin/drush sset system.maintenance_mode 1 | ../vendor/bin/drush sset system.maintenance_mode 1 | ||
- | ../vendor/bin/drush sql-dump --result-file=../baza_drup8.sql</code>скачать все файлы с помощью виндоуз программы filezilla из дирректории /var/www/drupal8<code>cd .. && composer update | + | |
- | sudo chown -R www-data:www-data /var/www/drupal8 | + | if ../vendor/bin/drush sql-dump --gzip --result-file="$backupdir"/baza_drup8.sql |
- | cd web | + | then echo "Backup of sql successful" |
+ | else echo "Backup of sql failed" | ||
+ | fi | ||
+ | |||
+ | if tar cfz "$backupdir"/archive.tar.gz -C /var/www drupal8 | ||
+ | then echo "Backup of files successful" | ||
+ | else echo "Backup of files failed" | ||
+ | fi | ||
+ | |||
+ | cd /var/www/drupal8/web | ||
../vendor/bin/drush sset system.maintenance_mode 0</code> | ../vendor/bin/drush sset system.maintenance_mode 0</code> | ||
+ | потом запускаем crontab -e и прописываем <code>0 5 * * 1 backup.sh</code> | ||
+ | backup.sh будет запускаться каждую неделю в 5 утра | ||
+ | |||
+ | |||
==== Восстановление ==== | ==== Восстановление ==== | ||
- | ==== TODO; что необходимо сделать ==== | + | <code>drush -r $(pwd) sset system.maintenance_mode 1 |
- | * нужна ли команда sudo adduser $USER www-data ? | + | tar -xzf archive.tar.gz -C /var/www |
- | * создание сайта БД одной командой | + | gunzip -d baza_drup8.sql.gz |
+ | mysql -u root -p drupal8db < ./baza_drup8.sql | ||
+ | drush -r $(pwd) sset system.maintenance_mode 0</code> | ||
+ | ==== Обновление ==== | ||
+ | <code>cd /var/www/drupal8/web | ||
+ | drush -r $(pwd) sset system.maintenance_mode 1 | ||
+ | cd .. | ||
+ | composer update drupal/core --with-dependencies | ||
+ | cd web | ||
+ | drush -r $(pwd) updb | ||
+ | drush -r $(pwd) cr | ||
+ | drush -r $(pwd) sset system.maintenance_mode 0 | ||
+ | </code> | ||
+ | ==== TODO; что необходимо сделать ==== | ||
+ | * отправку почты с сайта ([[wiki:postfix|postfix]]) | ||
+ | * шифрование tls ([[wiki:letsencrypt|letsencrypt]]) | ||
+ | * использование для администрирования БД Heidisql и Mysql workbench | ||
+ | * использование [[wiki:virtualbox|shared folders в virtualbox]] | ||
Строка 80: | Строка 125: | ||
* [[https://www.howtoforge.com/tutorial/apache-with-php-fpm-on-ubuntu-16-04/|установка php-fpm]] | * [[https://www.howtoforge.com/tutorial/apache-with-php-fpm-on-ubuntu-16-04/|установка php-fpm]] | ||
+ | * [[https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-16-04-lamp/|установка mod-php]] | ||
{{tag>drupal8}} | {{tag>drupal8}} | ||