Pesquisa de site

Como instalar o Fork CMS no Ubuntu 20.04


Fork é um sistema de gerenciamento de conteúdo simples, leve e fácil de usar. É baseado no Symfony e fornece uma interface web amigável para gerenciar todo o seu conteúdo através do navegador web. Ele também oferece aplicativos e temas poderosos que permitem que você personalize seu site com mais brilho. Possui um mercado funcional com muitos aplicativos e também oferece ferramentas poderosas para iniciantes e profissionais.

Neste post, explicaremos como instalar o Fork CMS com Apache e Let's Encrypt SSL no Ubuntu 20.04.

Pré-requisitos

  • Um servidor executando Ubuntu 20.04.
  • Nome de domínio válido apontado com o IP do seu servidor.
  • Uma senha root é configurada no servidor.

Instale a pilha LAMP

Primeiro, você precisará instalar o servidor web Apache, o servidor de banco de dados MariaDB, PHP e outras extensões PHP necessárias em seu servidor. Você pode instalar todos eles executando o seguinte comando:

apt-get install apache2 mariadb-server php libapache2-mod-php php-json php-xml php-cli php-zip php-common php-sqlite3 php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd wget unzip -y

Após instalar todos esses pacotes, edite o arquivo de configuração do PHP:

nano /etc/php/7.4/apache2/php.ini

Altere as seguintes configurações de acordo com suas necessidades:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
file_uploads = On
date.timezone = Asia/Kolkata

Salve e feche o arquivo e reinicie o serviço Apache para aplicar as alterações de configuração:

systemctl restart apache2

Configurar banco de dados MariaDB

Primeiro, você deve proteger o MariaDB e definir a senha root do MariaDB. Você pode executar o seguinte script para proteger a instalação do MariaDB:

mysql_secure_installation

Este script definirá uma senha root, removerá usuários anônimos, proibirá o login root remotamente e removerá o banco de dados de teste conforme mostrado abaixo:

Set root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Once MariaDB is secured, log in to MariaDB shell:

Em seguida, faça login no shell MariaDB com o seguinte comando:

mysql -u root -p

Digite sua senha root e crie um banco de dados e um usuário para Fork CMS:

MariaDB [(none)]> CREATE DATABASE forkcmsdb;
MariaDB [(none)]> CREATE USER 'forkcms'@'localhost' IDENTIFIED BY 'password';

Em seguida, conceda privilégios ao banco de dados Fork CMS com o seguinte comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON forkcmsdb.* TO 'forkcms'@'localhost';

A seguir, execute o comando FLUSH PRIVILEGES para que o MariaDB recarregue a tabela de privilégios:

MariaDB [(none)]> FLUSH PRIVILEGES;

Finalmente, saia do shell MariaDB usando o seguinte comando:

MariaDB [(none)]> EXIT;

Instale o Fork CMS

Primeiro, você precisará instalar o Composer em seu sistema. Você pode instalá-lo com o seguinte comando:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Você obterá a seguinte saída:

All settings correct for using Composer
Downloading...

Composer (version 2.3.3) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Em seguida, navegue até o diretório raiz da web Apache e baixe o Fork CMS usando o Composer:

cd /var/www/html/
composer create-project forkcms/forkcms

Assim que o download for concluído, defina a permissão e propriedade adequadas para o diretório FOrk CMS:

chown -R www-data:www-data /var/www/html/forkcms
chmod -R 775 /var/www/html/forkcms

Quando terminar, você pode prosseguir para a próxima etapa.

Configurar o Apache para Fork CMS

Em seguida, você precisará criar um arquivo de configuração de host virtual Apache para servir o Fork CMS pela Internet. Você pode criá-lo com o seguinte comando:

nano /etc/apache2/sites-available/forkcms.conf

Adicione as seguintes linhas:

<VirtualHost *:80>
     ServerAdmin [email 
     DocumentRoot /var/www/html/forkcms
     ServerName forkcms.example.com
     ServerAlias www.example.com

     <Directory /var/www/html/forkcms/>
          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 Fork CMS e habilite o módulo de reescrita do Apache com o seguinte comando:

a2ensite forkcms.conf
a2enmod rewrite

Em seguida, reinicie o serviço Apache para aplicar as alterações:

systemctl restart apache2

Você também pode verificar o status do serviço Apache usando o seguinte comando:

systemctl status apache2

Você obterá 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 Sat 2022-04-02 08:04:06 UTC; 13s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 15441 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 15460 (apache2)
      Tasks: 6 (limit: 2348)
     Memory: 13.4M
     CGroup: /system.slice/apache2.service
             ??15460 /usr/sbin/apache2 -k start
             ??15461 /usr/sbin/apache2 -k start
             ??15462 /usr/sbin/apache2 -k start
             ??15463 /usr/sbin/apache2 -k start
             ??15464 /usr/sbin/apache2 -k start
             ??15465 /usr/sbin/apache2 -k start

Apr 02 08:04:06 ubunt4 systemd[1]: Starting The Apache HTTP Server...

Quando terminar, você pode prosseguir para a próxima etapa.

Acesse a interface da web do Fork CMS

Agora, abra seu navegador e digite o URL http://forkcms.example.com. Você será redirecionado para a seguinte página:

Aqui, selecione o idioma desejado e clique no botão Avançar. Você deverá ver a seguinte página:

Aqui, selecione o módulo que deseja instalar e clique no botão Avançar. Você deverá ver a seguinte página:

Aqui, forneça os detalhes do seu banco de dados e clique no botão Avançar. Você deverá ver a seguinte página:

Aqui, forneça seu endereço de e-mail de administrador, nome de usuário e senha e clique no botão Concluir Instalação. Você deverá ver a seguinte página:

Agora, clique no botão Fazer login no Fork CMS. Você deverá ver a tela de login do Fork CMS na seguinte página:

Agora, forneça seu nome de usuário e senha de administrador e clique no botão Login. Você será redirecionado para o painel do Fork CMS conforme mostrado na imagem a seguir:

Secure Fork CMS com Let's Encrypt SSL

A seguir, é recomendável proteger seu site com Let's Encrypt SSL. Primeiro, instale o cliente Certbot usando o seguinte comando:

apt-get install python3-certbot-apache -y

Depois de instalado, execute o seguinte comando para proteger seu site com Let's Encrypt SSL:

certbot --apache -d forkcms.example.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 forkcms.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/forkcms-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/forkcms-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/forkcms-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/forkcms.conf to ssl vhost in /etc/apache2/sites-available/forkcms-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://forkcms.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=forkcms.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/forkcms.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/forkcms.example.com/privkey.pem
   Your cert will expire on 2022-07-23. 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

Conclusão

Parabéns! você instalou com sucesso o Fork CMS com Apache e Let's Encrypt SSL no servidor Ubuntu 20.04. Agora você pode explorar o Fork CMS e começar a construir seu próprio site a partir da interface web intuitiva do Fork CMS.

Artigos relacionados: