Criar um servidor LAMP no Ubuntu

PROCEDIMENTO PARA SUBIR UM SERVIDOR DE APLICAÇÃO APACHE NO UBUNTU
Testado com o Ubuntu 18.04

1) Ajustar o Timezone da Instância
$ sudo timedatectl set-timezone America/Sao_Paulo

2) Atualizar sistema operacional
$ sudo apt-get update
$ sudo apt-get upgrade
exit

3) Instalar o Apache

$ sudo apt-get install apache2

pasta das aplicações: /var/www/html/
pasta do apache: /etc/apache2/

4) Instalar o php 7.4

Adicionar os repositórios do PHP 7.4

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update

Instalar o PHP
$ sudo apt-get install php7.4

$ php -v //Verificar a versão do PHP

Instalar os módulos do PHP

$sudo apt-get install php7.4nome-do-modulo

sudo apt-get install libapache2-mod-php7.4 libaprutil1-dbd-sqlite3 php7.4-cli php7.4-common
sudo apt-get install php7.4-json php7.4-opcache php7.4-readline php7.4-mysql php7.4-dom php7.4-curl
sudo apt-get install php7.4-zip php7.4-dev php7.4-xmlrpc php7.4-mbstring php7.4-xml php7.4-intl
php7.4-imagick
php7.4-gd (necessário para o nextcloud)
php7.4-fpm (opcional)

$ sudo apt-cache search --names-only ^php //Verificar módulos disponíveis no Ubuntu.

5) Conceder permissões

$ sudo chown -R $user:$user /var/www/html/nome_da_pasta //Mudar propriedade da pasta
$ sudo chmod -R 755 /var/www/html/nome_da_pasta //Alterar permissões na pasta

Gerenciando o Apache
$ sudo systemctl stop apache2.service //para o Apache
$ sudo systemctl start apache2.service //inicia o Apache
$ sudo systemctl reload apache2.service // reinicia o Apache
$ sudo systemctl status apache2.service //Exibe o status do Apache

6) Configurar Virtual Hosts

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nome_do_site.conf
$ sudo nano /etc/apache2/sites-available/nome_do_site.conf

Editar o seguinte conteúdo:

<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName nome_do_site
ServerAlias www.nome_do_site
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

ServerAdmin [email protected]
ServerName www.nomedosite.com.br
ServerAlias nomedosite.com.br
ServerAlias xn--nomedosite-dcb.com.br
ServerAlias www.xn--nomedosite-dcb.com.br
DocumentRoot /var/www/html/nomepastasite/
<Directory /var/www/html/nomepastasite/>
Options Indexes FollowSymLinks Multiviews
AllowOverride All
allow from all
</Directory>

$ sudo a2ensite nome_do_site.conf //Para ativar o site
$ sudo a2dissite 000-default.conf //Para desabilitar o site padrão

$sudo systemctl restart apache2 //Para reiniciar o apache. Também tem as opções start e stop. também tem sudo service apache2 restart

7) Configurar arquivo de hosts local (opcional)
Se você não está utilizando os nomes de domínio reais que você possui para testar este procedimento e, em vez disso, está usando alguns domínios de exemplo, você pode testar ao menos a funcionalidade desse processo modificando temporariamente o arquivo hosts em seu computador local.

Isto irá interceptar quaisquer requisições para os domínios que você configurou e os apontará para o seu servidor VPS, da mesma forma que o DNS faria se você estivesse utilizando domínios registrados. Isto irá funcionar somente em seu computador, e é útil simplesmente para propósitos de testes.

Certifique-se de que você está operando em seu computador local para estas etapas e não no seu servidor VPS. Você precisará saber a senha administrativa do computador ou então, ser membro do grupo administrativo.

EDITANDOS HOSTS NO LINUX

$ sudo nano /etc/hosts

127.0.0.1 localhost
127.0.1.1 guest-desktop
111.111.111.111 nome_do_site //Exemplo de configuração sendo ip do servidor que deve ser prenchido.
111.111.111.111 test.com

EDITANDO HOSTS NO WINDOWS
-Abrir o bloco de notas como administrador
– Vá em C:\Windows\System32\Drivers\etc
– abra o arquivo hosts

WORDPRESS
Ao migrar um wordpress para outro servidor algumas coisas podem acontecer:
– páginas e posts protegidos por senha -> Solução: setar post_password = null

Este artigo está relacionado a resolução de problemas com links permanentes.

As opções FollowSymLinks e AllowOverride All devem constar na configuração do seu virtualhost:

<Directory /var/www/wordpress>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
allow from all
</Directory>

PERMISSÕES CORRETAS NAS PASTAS DO WORDPRESS
diretório raiz (700)
.htaccess (644)
wp-config.php (644)
wp-admin (755)
wp-content (755)
plugins (755)
themes (444) ou (555)
upgrade (755)
uploads (755)
wp-includes (755)

Permissões do arquivo .htaccess:
Verifique se o arquivo /…/wordpress/.htaccess existe e se o WordPress pode escrever nele, uma forma simples de descobrir é acessando Painel>Configurações>Links Permanentes e observando se há alguma mensagem do WordPress referente ao .htaccess. Se você ver a mensagem abaixo, significa que seu .htaccess não pode ser escrito:

Para resolver este problema, altere as permissões do arquivo, o recomendado pelo wordpress é 644:

$ sudo chmod 644 .htaccess

No entanto, se o WordPress ainda assim exibir a mensagem acima use temporariamente uma permissão maior, como 755. Depois de ajustar as permissões tente alterar o formato dos permalinks e verifique se o WordPress escreveu no arquivo:

$ nano .htaccess

o conteúdo do arquivo deve ser algo assim:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
#END WordPress

Note no início do arquivo: <IfModule mod_rewrite.c> isto verifica se o módulo do apache mod_rewrite.c está habilitado, se não estiver o apache ignorará os comandos seguintes do arquivo. Para verificar se o módulo está ativado use:

$ ls /etc/apache2/mods-enabled/

Se rewrite.load não constar na lista, o módulo está desabilitado (estranhamente no Ubuntu, este módulo vem desativado).

Para habilitar o módulo use o comando:

$ sudo a2enmod rewrite

A partir daqui, você já poderá alterar a estrutura de permalinks que deverá funcionar.

Plugin para migração dos permalinks:
Se você está mudando os permalinks com conteúdo já publicado, não vai querer que seus antigos links resultem num 404 certo? Sem falar no PageRank, que acabaria indo pelo ralo já que seus antigos links não funcionam mais.

Para resolver o problema, baixe e instale o Dean’s plugin for permalinks migration que redireciona os links antigos para os novos, sem complicações. =)

Para configurar o plugin acesse no painel: Configurações>PermalinksMigration, informe o formato antigo (neste caso está o padrão: /?p=N) e clique em update options, que o plugin já passa a funcionar corretamente, redirecionando os acessos dos links antigos para os novos.

Pronto! A partir de agora seu blog já deve responder tanto pelos links antigos como pelos novos permalinks!

 

Deixe uma resposta