ATUALIZANDO PARA O PHP 8.5
Esse procedimento foi feito usando o Rocky 9, mas funciona em outras distribuições.
Instalando o docker
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl --now enable docker
sudo systemctl is-active docker
Configurar o systemd para iniciar a instância, vamos chamado o systemd de /etc/systemd/system/scielo.service
[Unit]
Description=SciELO container
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
Restart=always
RestartSec=5
# Limpeza de containers antigos
ExecStartPre=-/usr/bin/docker stop %p
ExecStartPre=-/usr/bin/docker rm %p
# Execução do container
ExecStart=/usr/bin/docker run \
--name %p \
-e SERVER_SCIELO=www.scielo.pt \
-p 8089:80 \
-v /var/www/scielo:/var/www/html \
-v /var/www/apache:/var/www/apache \
infrascielo/metodologia:v7.4-qa
# Parada limpa
ExecStop=/usr/bin/docker stop -t 10 %p
[Install]
WantedBy=multi-user.target
Itens que precisam ser ajustado:
- A variável SERVER_SCIELO corresponde ao nome do site sem http://
- O volume declarado antes dos dois pontos deve ser o caminho da pasta de origem. Exemplo: /var/www/scielo:/var/www/html. Veja que /var/www/scielo é o caminho da pasta de origem
Execute para iniciar o container:
systemctl daemon-reload
systemctl enable --now scielo
Para ver ele rodando execute:
docker ps
Agora faremos a reparação da base:
docker compose exec -T scielo scielo-instance-check.sh --root /var/www/html --fix
Esse procedimento pode levar alguns minutos.
Agora é necessário configurar o nginx para fazer proxy reverso. Vamos inicialmente instalar o nginx
sudo dnf update -y
sudo dnf install nginx -y
sudo systemctl enable --now nginx
sudo systemctl status nginx
Agora vamos configurar o vhost. Exemplo: vim /etc/nginx/conf.d/scielo.conf
server {
listen 443 ssl http2;
server_name ve.scielo.org;
ssl_certificate /certificados/scielo.org/fullchain.pem;
ssl_certificate_key /certificados/scielo.org/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security max-age=15768000;
keepalive_timeout 150s;
location /{
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8089;
proxy_http_version 1.1;
proxy_read_timeout 900s;
proxy_redirect off;
allow all;
}
gzip on;
access_log /var/log/nginx/ve-scielo-org/ve-scielo-org.log;
error_log /var/log/nginx/ve-scielo-org/ve-scielo-org-error.log warn;
}
server {
listen 80;
server_name ve.scielo.org;
return 301 https://$server_name$request_uri;
}
Obs.: Esse vhost está considerando que o seu site tem certificado digital e ele é apenas ilustrativo, pois está considerando a instância da Venezuela. Não esqueça de ajustar para o seu site.
No comments to display
No comments to display