Como instalo e configuro o Apache 2?

3

Como eu posso instalar o Apache2, php, mysql e configurá-lo com hosts virtuais e, de preferência, vamos criptografar o certificado SSL, e depois instalar o Wordpress nele?

    
por vidarlo 18.02.2018 / 17:35

1 resposta

3

Eu suponho que você tenha uma instalação Ubuntu em execução. Isto está escrito com 16.04 em mente, mas deve funcionar com algumas adaptações em outras versões também.

Nessas respostas, # denota um shell de raiz, enquanto $ denota um shell de usuário normal.

exemplo.org é usado como exemplo (D'oh) nesta resposta e deve ser alterado para se adequar à sua instalação.

Instalando o Apache2, PHP, MariaDB e assim por diante

$ sudo apt install apache2 libapache2-mod-php mariadb-server php-mysql

Isso instalará o Apache2, o PHP, o MariaDB e algumas dependências, além das ligações do PHP para acessar o mysql.

Nesta fase, você deve conseguir acessar o link e ver uma página padrão:

Configurando um vhost

Vhosts são hosts virtuais, que são usados para exibir diferentes conteúdos para diferentes nomes de domínio.

Comece a editar um novo arquivo chamado /etc/apache2/sites-available/01-example.org.conf no seu editor favorito:

$ sudo editor /etc/apache2/sites-available/01-example.org.conf 

Digite a seguinte configuração:

<VirtualHost *:80>
        ServerName example.org
        ServerAlias www.example.org
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/example.org/
        ErrorLog ${APACHE_LOG_DIR}/example.org.error.log
        CustomLog ${APACHE_LOG_DIR}/example.org.access.log combined
</VirtualHost>

Primeiro, definimos o nome do servidor primário. Este é o domínio usado para acessar o site. Apenas um pode ser definido por vhost. Além disso, definimos um ServerAlias, no caso de alguém entrar em www.example.org em seu navegador. Isso garante que o Apache responda a ambos os nomes. Ambos os nomes devem apontar para o seu servidor, seja no DNS, ou em /etc/hosts para testes locais.

Qualquer número de aliases do servidor pode ser especificado e eles não precisam conter partes do ServerName. Assim, ServerAlias example.com seria válido.

Crie o novo DocumentRoot

Eu coloquei o novo documentroot em /var/www/html/example.org . Este é um local que pode ser servido pelo Apache no Ubuntu. Se eu, por exemplo, o colocasse em /srv/ , precisaria incluir uma estrofe Directory para ele. Por enquanto, crie a webroot, preencha-a com algum conteúdo e ative a nova configuração:

$ sudo mkdir /var/www/html/example.org
$ echo "This is a test" | sudo tee /var/www/html/example.org/index.html
$ sudo a2ensite 01-example.org.conf
$ sudo service apache2 reload

Se você visitar agora o link , deverá ver a saída * Este é um teste ". Parabéns! Seu primeiro vhost está sendo executado!

Instale o letsencrypt e capture os certificados

Para receber certificados do Let's Encrypt, precisamos de um cliente. O pacote letsencrypt incluído no 16.04 é antigo, então precisamos de um ppa para isso.

$ echo "deb http://ppa.launchpad.net/certbot/certbot/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/01-certbot.list
$ sudo add-apt-key -k keyserver.ubuntu.com 8C47BE8E75BCA694
$ sudo apt update && sudo apt install certbot python3-certbot-apache 

Execute o certbot como root:

$ sudo certbot

Selecione o domínio para o qual você deseja obter um certificado e siga as instruções na tela do certbot. Quando perguntado se você deseja redirecionar, selecione redirecionar se desejar somente https e não redirecionar se quiser tanto http quanto https. Hoje, quase não há razão para não redirecionar.

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): 

Tente acessar o link novamente - ele deve ser alterado para mostrar que é seguro.

Parabéns, você não configurou o apache2 com um certificado TLS válido que garante que o tráfego seja criptografado!

Instalar o WordPress

O próximo passo é instalar algum aplicativo. Eu escolhi o WordPress como exemplo para instalar.

Primeiro torne-se root digitando sudo -i . Em seguida, altere o diretório para seu webroot e faça o download, descompacte e altere a propriedade para o usuário do Apache:

$ sudo -i
# cd /var/www/html/example.org/
# wget https://wordpress.org/latest.tar.gz
# tar -zxf latest.tar.gz && rm latest.tar.gz
# chown -R www-data.www-data wordpress/

Agora você terá uma instância do WordPress no link - vamos até lá.

O assistente informa que você precisa de uma tabela, um usuário e uma senha do MySQL. Vamos torná-los!

Por padrão, o Ubuntu usará a autenticação de soquete unix para o MariaDB. Assim, para entrar no MariaDB como root, você tem que usar

sudo mysql -u root

ou execute o comando em um shell raiz (por exemplo, sudo -i ). Isso fará o seu login sem digitar nenhuma senha

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 32
Server version: 10.0.33-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wordpress_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON 'wordpress_db'.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'passw0rd';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit

Preencha o nome de usuário wordpress_user , databasename wordpress_db e senha passw0rd na configuração do WordPress. Isso é basicamente isso; o resto é sobre seguir as diretrizes de instalação do WordPress .

Para adicionar mais vhosts, basta iniciar a partir de "Configurando um vhost".

Leitura adicional

por vidarlo 18.02.2018 / 17:35