Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
wiki:drupal [2012/07/10 01:18] [Обновление ПО] |
wiki:drupal [2017/03/15 04:18] [Настройка 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 | ||
+ | Рестарт сервера<code bash>sudo service vsftpd restart</code> | ||
===== Установка модулей ===== | ===== Установка модулей ===== | ||
**dh-make-drupal** -- скрипт позволяющий создавать deb-пакеты из модулей Drupal для более простого управления ими. Для установки dh-make-drupal выполните: | **dh-make-drupal** -- скрипт позволяющий создавать deb-пакеты из модулей Drupal для более простого управления ими. Для установки dh-make-drupal выполните: |