Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
wiki:drupal [2012/06/29 22:34] [Бэкап всего сайта] |
wiki:drupal [2017/03/16 21:53] (текущий) [Настройка ftp] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Drupal ====== | ====== Drupal ====== | ||
| - | {{:wiki:drupal:drupal-logo.png?nolink |}} | + | {{:wiki:drupal:drupal-logo.png |Логотип Drupal}} |
| **Drupal** — система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются [[MySQL]], [[PostgreSQL]] и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира. | **Drupal** — система управления сайтом (CMS), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются [[MySQL]], [[PostgreSQL]] и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира. | ||
| Строка 6: | Строка 6: | ||
| ==== Установка из репозиториев ==== | ==== Установка из репозиториев ==== | ||
| - | Для того чтобы установить Drupal 6 достаточно выполнить | ||
| - | <code bash>sudo apt-get install drupal6</code> | ||
| Начиная с Ubuntu 12.04 в репозитории содержится и Drupal 7 | Начиная с Ubuntu 12.04 в репозитории содержится и Drupal 7 | ||
| Строка 13: | Строка 11: | ||
| Для регистрации Drupal в Apache выполните | Для регистрации Drupal в Apache выполните | ||
| - | * Для Drupal 6: <code bash>sudo ln -s /etc/drupal/6/apache.conf /etc/apache2/conf.d/drupal6.conf</code> | + | * Для Drupal 7: <code bash>sudo a2enconf drupal7</code> |
| - | * Для Drupal 7: <code bash>sudo ln -s /etc/drupal/7/apache.conf /etc/apache2/conf.d/drupal7.conf</code> | + | |
| и перезапустите Apache | и перезапустите Apache | ||
| - | <code bash>sudo /etc/init.d/apache2 restart</code> | + | <code bash>sudo service apache2 restart</code> |
| - | Далее в статье будет рассмотрена версия, установленная из репозитория. | + | Теперь можно запустить броузер %%http://localhost/drupal7/install.php%% |
| ==== Установка вручную ==== | ==== Установка вручную ==== | ||
| - | Перед установкой убедитесь что у вас установлен и настроен [[apachemysqlphp|LAMP]], а так же установлен пакет ''php5-gd''. | + | |
| + | Перед установкой убедитесь? что у вас установлен и настроен [[apachemysqlphp|LAMP]], а также установлен пакет ''php5-gd''. | ||
| -- Скачайте архив Drupal с официального сайта((На момент написания статьи последней версией являлся Drupal 7.14)): | -- Скачайте архив Drupal с официального сайта((На момент написания статьи последней версией являлся Drupal 7.14)): | ||
| .. <code bash>wget http://ftp.drupal.org/files/projects/drupal-7.14.tar.gz</code> | .. <code bash>wget http://ftp.drupal.org/files/projects/drupal-7.14.tar.gz</code> | ||
| Строка 29: | Строка 27: | ||
| .. <code bash>sudo mkdir /var/www/drupal | .. <code bash>sudo mkdir /var/www/drupal | ||
| sudo mv drupal-7.14/* drupal-7.14/.htaccess /var/www/drupal</code> | sudo mv drupal-7.14/* drupal-7.14/.htaccess /var/www/drupal</code> | ||
| - | -- Создайте директорию для сайта по умолчанию и установите ее владельцем www-data((Это пользователь, из-под имени которого по умолчанию запускается Apache в Debian-based дистрибутивах Linux)): | + | -- Создайте директорию для сайта по умолчанию и установите её владельцем www-data((Это пользователь, из-под имени которого по умолчанию запускается Apache в Debian-based дистрибутивах Linux)): |
| .. <code bash>sudo mkdir /var/www/drupal/sites/default/files | .. <code bash>sudo mkdir /var/www/drupal/sites/default/files | ||
| sudo chown www-data:www-data /var/www/drupal/sites/default/files</code> | sudo chown www-data:www-data /var/www/drupal/sites/default/files</code> | ||
| Строка 49: | Строка 47: | ||
| ===== Настройка ===== | ===== Настройка ===== | ||
| - | Перед началом использования создайте для Drupal базу данных с помощью клиента ''mysql'': | + | |
| - | <code sql>CREATE DATABASE название_базы;</code> | + | - Перед началом использования создайте для Drupal базу данных с помощью клиента ''mysql'':<code bash>mysql -u root -p -e "CREATE DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;"</code> |
| - | Так же желательно завести отдельного пользователя MySQL который будет иметь доступ только к созданной базе: | + | - Также желательно завести отдельного пользователя MySQL, который будет иметь доступ только к созданной базе:<code bash>mysql -u root -p</code>вводим там запросы:<code sql>CREATE USER username@localhost IDENTIFIED BY 'password';</code><code sql>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON databasename.* TO 'username'@'localhost' IDENTIFIED BY 'password'; </code>выход из mysql - quit. |
| - | <code sql>GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON название_базы.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'drupalpass';</code> | + | |
| Эти операции также можно выполнить с помощью оболочки [[phpMyAdmin]]. | Эти операции также можно выполнить с помощью оболочки [[phpMyAdmin]]. | ||
| - | Перейдите на страницу [[http://localhost/drupal7/install.php]] (путь может меняться в зависимости от установленной версии) и пройдите процедуру установки: | + | Перейдите на страницу %%http://localhost/drupal7/install.php%% (путь может меняться в зависимости от установленной версии) и пройдите процедуру установки: |
| - | -- Выберите язык. | + | -- выберите язык; |
| - | -- Заполните информацию о созданной базе данных, пользователе и пароле. Также можно заполнить префикс имен таблиц (рекомендуется, если у Вас для всего 1 база данных на хостинге, потом будет проще разбираться в назначении таблиц). | + | -- заполните информацию о созданной базе данных, пользователе и пароле. Также можно заполнить префикс имён таблиц (рекомендуется, если у вас для всего одна база данных на хостинге, потом будет проще разбираться в назначении таблиц). |
| - | ==== Если требуется включить опцию clean URLs выполните: ==== | + | ==== clean URLs ==== |
| + | Если требуется включить опцию clean URLs, выполните: | ||
| <code bash>sudo a2enmod rewrite | <code bash>sudo a2enmod rewrite | ||
| sudo sed -i "s/^.*# RewriteBase \/drupal/ RewriteBase \/drupal/" /etc/drupal/7/htaccess</code> | sudo sed -i "s/^.*# RewriteBase \/drupal/ RewriteBase \/drupal/" /etc/drupal/7/htaccess</code> | ||
| + | |||
| + | ==== Установка библиотеки PECL uploadprogress: ==== | ||
| + | |||
| + | <code bash>sudo apt-get install php-pear php5-dev | ||
| + | sudo pecl install uploadprogress</code> надо подождать некоторое время. | ||
| + | Потом в файл /etc/php5/apache2/php.ini добавляем <code bash>; install the uploadprogress library for Drupal 7(FileField module) | ||
| + | extension=uploadprogress.so</code> Перезагружаем Apache<code bash>sudo /etc/init.d/apache2 restart</code> | ||
| + | Подробности на [[https://www.drupal.org/node/1332446]] | ||
| + | |||
| + | ==== Установка библиотеки APC ==== | ||
| + | |||
| + | <code bash>sudo apt-get install php-apc | ||
| + | echo "apc.rfc1867 = 1"|sudo tee -a /etc/php5/mods-available/apcu.ini | ||
| + | sudo service apache2 restart | ||
| + | </code> | ||
| + | |||
| + | ==== Настройка прав файлов ==== | ||
| + | |||
| + | Создадим скрипт ''makepermissions.sh''. | ||
| + | <file bash> | ||
| + | #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 | ||
| + | </file> | ||
| + | |||
| + | Заменить ''myusername'' на имя пользователя, заменить ''mycommerce'' на папку в которой есть папка public_html с "Друпалом". | ||
| + | |||
| + | Cкрипт запускаем так: | ||
| + | <code bash>cd ~/mycommerce | ||
| + | sudo ./makepermissions.sh</code> | ||
| + | |||
| ==== Удаление текстовых файлов: ==== | ==== Удаление текстовых файлов: ==== | ||
| в корневом каталоге<code bash>cd ~/public_html | в корневом каталоге<code bash>cd ~/public_html | ||
| - | rm -f CHANGELOG.txt COPYRIGHT.txt INSTALL.mysql.txt INSTALL.pgsql.txt INSTALL.txt LICENSE.txt MAINTAINERS.txt UPGRADE.txt</code> | + | 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 </code> |
| в каталогах модулей. сначала посмотрим что будет удаляться<code bash>find ~/public_html/sites/all -name "*.txt" -type f | xargs ls</code> | в каталогах модулей. сначала посмотрим что будет удаляться<code bash>find ~/public_html/sites/all -name "*.txt" -type f | xargs ls</code> | ||
| потом удалим<code bash>find ~/public_html/sites/all -name "*.txt" -type f | xargs /bin/rm -f</code> | потом удалим<code bash>find ~/public_html/sites/all -name "*.txt" -type f | xargs /bin/rm -f</code> | ||
| + | ==== Настройка ftp ==== | ||
| + | Для загрузки обновлений модулей нежен ftp сервер. Стандартный поддерживаемый это vsftpd сервер. Устанавливаем:<code bash>sudo apt-get install vsftpd</code> Для загрузки файлов в файле настройке сервера /etc/vsftpd.conf разрешаем право на запись: write_enable=YES и local_umask=022 | ||
| + | Рестарт сервера<code bash>sudo service vsftpd restart</code> | ||
| ===== Установка модулей ===== | ===== Установка модулей ===== | ||
| **dh-make-drupal** -- скрипт позволяющий создавать deb-пакеты из модулей Drupal для более простого управления ими. Для установки dh-make-drupal выполните: | **dh-make-drupal** -- скрипт позволяющий создавать deb-пакеты из модулей Drupal для более простого управления ими. Для установки dh-make-drupal выполните: | ||
| Строка 83: | Строка 127: | ||
| <code bash>sudo apt-get install drush</code> | <code bash>sudo apt-get install drush</code> | ||
| ==== Бэкап базы ==== | ==== Бэкап базы ==== | ||
| - | |||
| Создание бекапа базы данных | Создание бекапа базы данных | ||
| - | + | <code bash>drush -r /usr/share/drupal6 sql-dump --result-file=~/db_backup.sql</code> | |
| - | drush -r путь/к/устоновленному/drupal sql-dump --result-file=~/db_backup.sql | + | ==== Обновление ПО ==== |
| - | + | после обновления самого друпала у меня слететели все модули и отключились clean urls. бэкап файлов будет хранится в папке ~/drush-backups/drupal6/20120709210216/drupal . clean urls можно обратно включить если создать символическую ссылку на /etc/drupal/6/htaccess вместо файла /usr/share/drupa6/.htaccess . потерянные модули можно установить заново. | |
| + | <code bash>sudo drush -r /usr/share/drupal6 up</code> | ||
| + | ==== Установка модулей ==== | ||
| + | скачивание модулей<code bash>sudo drush -r /usr/share/drupal6 dl cck ckeditor admin bueditor i18n captcha contact_field views</code> | ||
| + | установка<code bash>sudo drush -r /usr/share/drupal6 en content text ckeditor admin bueditor i18n captcha image_captcha contact_field views views_ui</code> | ||
| ===== Бэкап сайта ===== | ===== Бэкап сайта ===== | ||