MyTetra Share
Делитесь знаниями!
Drupal
Время создания: 15.12.2019 14:13
Автор: alensav
Текстовые метки: Drupal
Раздел: VPS_and_DRUPAL
Запись: alensav/MyTetra2/main/base/1576408389bh2xg04p6h/text.html на raw.githubusercontent.com

Drupal

Содержание

  • Drupal
  • Установка
    • Установка из репозиториев
    • Установка вручную
  • Настройка
    • clean URLs
    • Установка библиотеки PECL uploadprogress:
    • Установка библиотеки APC
    • Настройка прав файлов
    • Удаление текстовых файлов:
    • Настройка ftp
  • Установка модулей
  • Drush
    • Бэкап базы
    • Обновление ПО
    • Установка модулей
  • Бэкап сайта
  • Ссылки

Drupal — система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL , PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Установка

Установка из репозиториев

Начиная с Ubuntu 12.04 в репозитории содержится и Drupal 7

sudo apt-get install drupal7

Для регистрации Drupal в Apache выполните

  • Для Drupal 7:

sudo a2enconf drupal7

и перезапустите Apache

sudo service apache2 restart

Теперь можно запустить броузер http://localhost/drupal7/install.php

Установка вручную

Перед установкой убедитесь? что у вас установлен и настроен LAMP , а также установлен пакет php5-gd.

  1. Скачайте архив Drupal с официального сайта1 ):
  2. wget http://ftp.drupal.org/files/projects/drupal-7.14.tar.gz

  3. Распакуйте скачанный архив:
  4. tar -xvzf drupal-7.14.tar.gz

  5. Создайте каталог /var/www/drupal и переместите в него содержимое архива:
  6. sudo mkdir /var/www/drupal

    sudo mv drupal-7.14/* drupal-7.14/.htaccess /var/www/drupal

  7. Создайте директорию для сайта по умолчанию и установите её владельцем www-data2 ):
  8. sudo mkdir /var/www/drupal/sites/default/files

    ** sudo mkdir /var/www/drupal88/sites/default/files

    sudo chown www-data:www-data /var/www/html/drupal88/sites/default/files

  9. Скопируйте файл настроек:
  10. sudo cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php

    ** sudo chown www-data:www-data /var/www/drupal/sites/default/settings.php


    sudo chown www-data:www-data /var/www/html/drupal88/sites/default/settings.php

    1. **
  11. Создайте конфигурационный файл Apache /etc/apache2/sites-available/drupal со следующим содержанием:
  12. ** Alias /drupal /usr/share/drupal

     

    <Directory /usr/share/drupal/>

    Options +FollowSymLinks

    AllowOverride All

    order allow,deny

    allow from all

    </Directory>

  13. Включите добавленный в предыдущем пункте сайт и перезагрузите Apache:

** sudo a2ensite drupal

sudo /etc/init.d/apache2 restart

Настройка

  1. Перед началом использования создайте для Drupal базу данных с помощью клиента mysql:
  2. mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;"

  3. Также желательно завести отдельного пользователя MySQL, который будет иметь доступ только к созданной базе:

mysql -u root -p

вводим там запросы:

CREATE USER username@localhost IDENTIFIED BY 'password';

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password';

выход из mysql - quit.

Эти операции также можно выполнить с помощью оболочки phpMyAdmin .

Перейдите на страницу http://localhost/drupal7/install.php (путь может меняться в зависимости от установленной версии) и пройдите процедуру установки:

  1. выберите язык;
  2. заполните информацию о созданной базе данных, пользователе и пароле. Также можно заполнить префикс имён таблиц (рекомендуется, если у вас для всего одна база данных на хостинге, потом будет проще разбираться в назначении таблиц).

clean URLs

Если требуется включить опцию clean URLs, выполните:

sudo a2enmod rewrite

sudo sed -i "s/^.*# RewriteBase \/drupal/ RewriteBase \/drupal/" /etc/drupal/7/htaccess

Установка библиотеки PECL uploadprogress:

sudo apt-get install php-pear php5-dev

sudo pecl install uploadprogress

надо подождать некоторое время. Потом в файл /etc/php5/apache2/php.ini добавляем

; install the uploadprogress library for Drupal 7(FileField module)

extension=uploadprogress.so

Перезагружаем Apache

sudo /etc/init.d/apache2 restart

Подробности на https://www.drupal.org/node/1332446

Установка библиотеки APC

sudo apt-get install php-apc

echo "apc.rfc1867 = 1"|sudo tee -a /etc/php5/mods-available/apcu.ini

sudo service apache2 restart

Настройка прав файлов

Создадим скрипт makepermissions.sh.

#make_permissions_for_commerce.sh

username=myusername

path_to_drupal_installation=/home/$username/mycommerce/public_html

 

cd $path_to_drupal_installation

chown -R $username:www-data .

find . -type d -exec sudo chmod u=rwx,g=rx,o= '{}' \;

find . -type f -exec sudo chmod u=rw,g=r,o= '{}' \;

 

cd $path_to_drupal_installation/sites

find . -type d -name files -exec sudo chmod ug=rwx,o= '{}' \;

for d in ./*/files

do

find $d -type d -exec sudo chmod ug=rwx,o= '{}' \;

find $d -type f -exec sudo chmod ug=rw,o= '{}' \;

done

Заменить myusername на имя пользователя, заменить mycommerce на папку в которой есть папка public_html с «Друпалом».

Cкрипт запускаем так:

cd ~/mycommerce

sudo ./makepermissions.sh

Удаление текстовых файлов:

в корневом каталоге

cd ~/public_html

rm -f CHANGELOG.txt COPYRIGHT.txt INSTALL.mysql.txt INSTALL.pgsql.txt INSTALL.txt LICENSE.txt MAINTAINERS.txt UPGRADE.txt INSTALL.sqlite.txt README.txt

в каталогах модулей. сначала посмотрим что будет удаляться

find ~/public_html/sites/all -name "*.txt" -type f | xargs ls

потом удалим

find ~/public_html/sites/all -name "*.txt" -type f | xargs /bin/rm -f

Настройка ftp

Для загрузки обновлений модулей нежен ftp сервер. Стандартный поддерживаемый это vsftpd сервер. Устанавливаем:

sudo apt-get install vsftpd

Для загрузки файлов в файле настройке сервера /etc/vsftpd.conf разрешаем право на запись: write_enable=YES и local_umask=022 Рестарт сервера

sudo service vsftpd restart

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

dh-make-drupal – скрипт позволяющий создавать deb-пакеты из модулей Drupal для более простого управления ими. Для установки dh-make-drupal выполните:

sudo apt-get install dh-make-drupal

Пример использования:

dh-make-drupal views

sudo dpkg -i ./drupal6-mod-views_2.16-1_all.deb

Drush

Drush – инструмент, позволяющий управлять Drupal из командной строки. Поддерживается множество действий, таких как очистка кеша, установка модулей и тем, создание бекапов, получение статуса и т. д. Полный список действий можно посмотреть на сайте http://www.drush.org/ .

Drush содержится в репозитории Ubuntu. Чтобы его установить выполните команду

sudo apt-get install drush

Бэкап базы

Создание бекапа базы данных

drush -r /usr/share/drupal6 sql-dump --result-file=~/db_backup.sql

Обновление ПО

после обновления самого друпала у меня слететели все модули и отключились clean urls. бэкап файлов будет хранится в папке ~/drush-backups/drupal6/20120709210216/drupal . clean urls можно обратно включить если создать символическую ссылку на /etc/drupal/6/htaccess вместо файла /usr/share/drupa6/.htaccess . потерянные модули можно установить заново.

sudo drush -r /usr/share/drupal6 up

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

скачивание модулей

sudo drush -r /usr/share/drupal6 dl cck ckeditor admin bueditor i18n captcha contact_field views

установка

sudo drush -r /usr/share/drupal6 en content text ckeditor admin bueditor i18n captcha image_captcha contact_field views views_ui

Бэкап сайта

Ручной бэкап сайта состоит из 4х этапов:

  1. Перевести сайт в состояние Обслуживание
  2. С помощью программы phpmyadmin сохранить копию БД
  3. Скопировать все файлы
  4. Перевести сайт в состояние Работа

Можно делать полуавтоматический бэкап сайта с помощью ssh, rsync и drush:

  1. Создаем папку с текущей датой и временем
  2. mkdir ~/work/backup/$( date +%H.%M_%d.%m.%Y )

  3. Входим на сайт по ssh
  4. ssh user@hostingserver.ru

  5. и переводим сайт оффлайн
  6. ~/drush/drush -y -r ~/public_html vset site_offline 1

  7. Создаем бэкап базы данных
  8. ~/drush/drush -r ~/public_html sql-dump --result-file=~/baza_drup1.sql

  9. В другой консоли копируем все файлы по ssh с помощью rsync
  10. rsync -v -a -r -t -e ssh user@hostingserver.ru:/home/siteaccaunt/ ~/work/backup/31.01.2012

  11. В первой консоли удаляем дамп БД
  12. rm ~/baza_drup1.sql

  13. Включаем сайт

~/drush/drush -y -r ~/public_html vset site_offline 0

Ссылки

  • https://wiki.ubuntu.com/UbuntuDrupal (англ.)
  • Статья на англоязычной Ubuntu Wiki
  • Работа с Drush
  • Обсуждение на форуме

drupal , cms , web

 
MyTetra Share v.0.65
Яндекс индекс цитирования