Drupal (Português)
"Drupal é um sistema e framework de gerenciamento de conteúdo (content management system/framework) livre e de código aberto escrito em PHP e distribuído sob a GNU General Public License." - Wikipédia
Esta página descreve como instalar o Drupal e configurar o Apache HTTP Server, MySQL ou PostgreSQL, e Postfix para funcionar com ele. Assumiremos aqui que você tenha algum tipo de servidor LAMP (Linux, Apache, MySQL, PHP), LAPP (Linux, Apache, PostgreSQL, PHP) ou LASP (Linux, Apache, SQLite, PHP) já pronto para uso.
Instalação
Configuração
PHP
Edite /etc/php/php.ini:
- Para ativar o suporte à manipulação de imagens, descomente a linha
extension=gd
Para suporte a bancos de dados ative a extensão PDO para o seu banco de dados:
- Para ativar suporte para SQLite, descomente a linha
extension=pdo_sqlite - Para ativar suporte para MySQL, descomente a linha
extension=pdo_mysql - Para ativar suporte para PostgreSQL, descomente a linha
extension=pdo_pgsql
Apache falhará em iniciar com um erro encontrando php_admin_value. As instruções abaixo consertam isso:
Instale o pacote php-apache.
Em /etc/httpd/conf/httpd.conf, comente a linha:
#LoadModule mpm_event_module modules/mod_mpm_event.so
e descomente a linha:
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Ponha isto no final da lista LoadModule:
LoadModule php7_module modules/libphp7.so AddHandler php7-script .php
Ponha isto no final da lista Include:
Include conf/extra/php7_module.conf
Reinicie o httpd.service usando systemd.
Apache falhará em iniciar com um erro encontrando open_basedir. As instruções abaixo consertam isso:
Em /etc/php/php.ini, descomente e ponha um sufixo em open_basedir para que se pareça com isto:
open_basedir = /etc/webapps
Apache
Copie o arquivo de configuração Apache de exemplo:
# cp /etc/webapps/drupal/apache.example.conf /etc/httpd/conf/extra/drupal.conf
E inclua-o no final de /etc/httpd/conf/httpd.conf:
Include conf/extra/drupal.conf
Em /etc/httpd/conf/httpd.conf, descomente também a linha LoadModule rewrite_module modules/mod_rewrite.so.
Drupal
Edite /usr/share/webapps/drupal/.htaccess e substitua Require all denied por Require all granted.
Finalmente, reinicie o Apache (httpd.service). Você pode agora acessar a instalação Drupal em http://localhost/drupal .
Ferramentas de linha de comando
Drush
Drush é um shell de linha de comando e interface de scripting Unix para o Drupal. O Drush por si só vem com diversos comandos úteis para interagir com código como módulos/temas/perfis. De modo similar, ele executa update.php, executa queries SQL e migrações de bancos de dados, e vem com utilitários gerais como executar cron ou limpar o cache. O Drush pode ser estendido usando arquivos de comando de terceiros. Ele pode ser instalado com o pacote drush-launcherAUR.
Drupalconsole
Drupalconsole é uma ferramenta CLI para gerar código redundante (boilerplate), interagir e depurar o Drupal 8. Ele pode ser instalado com o pacote drupalconsoleAUR.
PHP-Codesniffer-Drupal
PHP-Codesniffer-Drupal compara o seu código Drupal com os padrões do projeto e outras melhores práticas. Pode ser instalado com o pacote php-codesniffer-drupalAUR.
Dicas e truques
Enviando emails
O Drupal precisa de um MTA compatível com Sendmail, como Sendmail, Postfix ou Exim caso você queira enviar emails do seu setup local.
De modo alternativo, existem múltiplas soluções para enviar emails via servidores de email externos por meio de SMTP ou outros meios como PHPMailer. Use a página de pesquisa para encontrar mais possibilidades.
Agendamento com Cron
O Drupal recomenda rodar tarefas cron a cada hora. Cron pode ser executado do browser visitando http://localhost/drupal/cron. Também é possível rodar o cron via script copiando o arquivo apropriado da pasta "scripts" em /etc/cron.hourly e tornando-o executável.
Progresso de upload não ativo
Após uma instalação bem sucedida, você pode ver a seguinte mensagem no Status Report:
Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install the PECL uploadprogress library (preferred) or to install APC.
Primeiro, instale o pacote php-pearAUR. Em seguida, use o comando pecl para automaticamente baixar, compilar e instalar a biblioteca:
# pecl install uploadprogress
Finalmente, adicione a /etc/php/php.ini
extension=uploadprogress
e reinicie o Apache.