Como instalar o Concrete5 CMS com Let's Encrypt SSL grátis no Debian 11
Concrete5 é um sistema de gerenciamento de conteúdo gratuito e de código aberto para publicação de conteúdo da Internet. Ele foi projetado para usuários iniciantes com conhecimentos mínimos de informática e permitiu-lhes editar o site diretamente do navegador. É simples, leve, fácil de usar e escrito em PHP. Ele vem com vários recursos úteis, incluindo uma interface da web intuitiva, amigável para SEO, mídia social, otimizado para celular, extensível, relatórios integrados e muito mais.
Esta postagem mostrará como instalar o Concrete5 CMS com Apache e Let's Encrypt SSL no Debian 11.
Pré-requisitos
- Um servidor rodando Debian 11.
- Um nome de domínio válido apontado com o IP do seu servidor.
- Uma senha root está configurada em seu servidor.
Instale Apache, MariaDB e PHP
Primeiro, você precisará instalar o servidor web Apache, servidor de banco de dados MariaDB, PHP e outras extensões necessárias em seu servidor. Você pode instalar todos eles executando o seguinte comando:
apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl -y
Depois que todos os pacotes estiverem instalados, edite o arquivo php.ini e ajuste algumas configurações do PHP:
nano /etc/php/7.3/apache2/php.ini
Altere as seguintes linhas:
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 64M
date.timezone = UTC
Salve e feche o arquivo quando terminar e reinicie o serviço Apache para aplicar as alterações:
systemctl restart apache2
Crie um banco de dados para Concrete5
Concrete5 usa MariaDB ou MySQL como backend de banco de dados. Então você precisará criar um banco de dados e um usuário para o Concrete5.
Primeiro, faça login no MariaDB com o seguinte comando:
mysql
Depois de fazer login, crie um banco de dados e um usuário com o seguinte comando:
MariaDB [(none)]> CREATE DATABASE concrete5;
MariaDB [(none)]> CREATE USER 'concrete5'@'localhost' IDENTIFIED BY 'password';
A seguir, conceda todos os privilégios ao banco de dados Concrete5 com o seguinte comando:
MariaDB [(none)]> GRANT ALL ON concrete5.* TO 'concrete5'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Em seguida, libere os privilégios e saia do console MariaDB com o seguinte comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Instale o Concrete5 CMS
Em seguida, vá para a página de download do Concrete5 CMS, copie a URL do Concrete5 mais recente e execute o seguinte comando para baixá-lo para o seu sistema:
wget https://www.concretecms.org/application/files/3916/3649/1545/concrete-cms-9.0.1.zip
Assim que o download for concluído, descompacte o arquivo baixado usando o comando abaixo:
unzip concrete-cms-9.0.1.zip
Em seguida, mova o diretório extraído para o diretório raiz da web do Apache:
mv concrete-cms-9.0.1 /var/www/html/concrete5
Em seguida, altere a propriedade e a permissão do diretório concreto5 usando o seguinte comando:
chown -R www-data:www-data /var/www/html/concrete5/
chmod -R 755 /var/www/html/concrete5/
Quando terminar, você pode prosseguir para a próxima etapa.
Crie um arquivo de configuração de host virtual Apache
Em seguida, você precisará criar um arquivo de configuração de host virtual Apache para o Concrete5 CMS. Você pode criá-lo usando o seguinte comando:
nano /etc/apache2/sites-available/concrete5.conf
Adicione as seguintes linhas:
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/html/concrete5
ServerName concrete5.yourdomain.com
<Directory /var/www/html/concrete5>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salve e feche o arquivo, ative o host virtual Apache e o módulo de reescrita usando o seguinte comando:
a2ensite concrete5.conf
a2enmod rewrite
Por fim, reinicie o serviço Apache usando o seguinte comando:
systemctl restart apache2
Você também pode verificar o status do serviço Apache usando o seguinte comando:
systemctl status apache2
Você deverá ver a seguinte saída:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2021-12-10 14:29:49 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 16050 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 16054 (apache2)
Tasks: 6 (limit: 4701)
Memory: 15.4M
CGroup: /system.slice/apache2.service
??16054 /usr/sbin/apache2 -k start
??16055 /usr/sbin/apache2 -k start
??16056 /usr/sbin/apache2 -k start
??16057 /usr/sbin/apache2 -k start
??16058 /usr/sbin/apache2 -k start
??16059 /usr/sbin/apache2 -k start
Dec 10 14:29:49 debian11 systemd[1]: Starting The Apache HTTP Server...
Quando terminar, você pode prosseguir para a próxima etapa.
Acesse o Concreto5 CMS
Agora, abra seu navegador e acesse o CMS Concrete5 usando a URL http://concrete5.seudominio.com. Você será redirecionado para a seguinte página:
Selecione seu idioma e clique no botão >. Você deverá ver a seguinte página:
Certifique-se de que todas as extensões PHP estejam instaladas e clique no botão Continuar para Instalação. Você deverá ver a seguinte página:
Forneça seu nome de usuário de administrador, senha, nome do banco de dados, nome de usuário do banco de dados, senha e clique no botão Instalar Concrete5. Assim que a instalação for concluída, você deverá ver a seguinte página:
Clique em Editar seu site. Você deverá ver o painel do Concrete5 na seguinte página:
Proteja o Open Concrete5 com Let's Encrypt SSL
Se quiser proteger seu site aberto com Let's Encrypt SSL, você precisará instalar o pacote do cliente Certbot para instalar e gerenciar o Let's Encrypt SSL para seu site aberto.
Você pode instalá-lo executando o seguinte comando:
apt-get install python3-certbot-apache -y
Assim que o pacote Certbot estiver instalado, execute o seguinte comando para baixar e instalar o Let's Encrypt SSL para o seu site.
certbot --apache -d concrete5.yourdomain.com
Você será solicitado a fornecer seu e-mail e aceitar o termo de serviço conforme mostrado abaixo:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for concrete5.yourdomain.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/concrete5-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/concrete5-le-ssl.conf
Em seguida, selecione se deseja ou não redirecionar o tráfego HTTP para HTTPS conforme mostrado abaixo:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Digite 2 e pressione Enter para instalar o Let's Encrypt SSL para o seu site:
Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/concrete5.conf to ssl vhost in /etc/apache2/sites-available/concrete5-le-ssl.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://concrete5.yourdomain.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=open.yourdomain.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/concrete5.yourdomain.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/open.yourdomain.com/privkey.pem
Your cert will expire on 2022-03-11. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Agora você pode acessar seu site com segurança usando a URL https://concrete5.seudominio.com.
Conclusão
Parabéns! você instalou com sucesso o Concrete5 CMS com Apache e Let's Encrypt SSL no Debian 11. Agora você pode criar e editar seu site facilmente a partir do navegador da web. Sinta-se à vontade para me perguntar se tiver alguma dúvida.