Essa é uma revisão anterior do documento!
1 - Inicialmente vamos iniciar com a instalação do Apache24, para isso vamos pesquisar qual a versão mais recente com o comando abaixo:
root@indio:# pkg search apache2 apache24-2.4.34 Version 2.4.x of Apache web server p5-Apache2-SOAP-0.73_4 Apache2 mod_perl2 SOAP Server p5-Apache2-SiteControl-1.05_3 Perl web site authentication/authorization system
2 - Após isto, escolha a versão e mande instalar:
root@indio:# pkg install apache24-2.4.34
3 - Após concluir a instalação do Apache, vamos instalar o PHP:
root@indio:# pkg install php72
4 - Depois de instalar o PHP72, vamos instalar o modulo PHP no apache:
root@indio:# pkg search mod_php mod_php56-5.6.36_1 PHP Scripting Language mod_php70-7.0.32 PHP Scripting Language mod_php71-7.1.22 PHP Scripting Language mod_php72-7.2.10 PHP Scripting Language
- No meu caso vou instalar a versão 72:
root@indio:/usr/home/dhiemeson # pkg install mod_php72 Updating FreeBSD repository catalogue... FreeBSD repository is up to date. All repositories are up to date. The following 1 package(s) will be affected (of 0 checked): *************************************************************** Make sure index.php is part of your DirectoryIndex. You should add the following to your Apache configuration file: <FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch> ***************************************************************
5 - Depois que terminar a instalação do mod_php72, vamos conferir no arquivo /usr/local/etc/apache24/http.conf se a linha do mod foi habilitada, segue a linha abaixo:
LoadModule php7_module libexec/apache24/libphp7.so
–Se por algum motivo após a instalação esta linha não for acrescentada automaticamente, insira ela manualmente.
6 - Depois que tiver certeza que o mod_php72 estiver ativo no apache, vamos acrescentar umas linhas de configuração do http.conf:
root@indio:# cd /usr/local/etc/apache24/ root@indio:/usr/local/etc/apache24 # ee httpd.conf
- Insira as linhas abaixo no final do arquivo httpd.conf
<FilesMatch "\.php$"> SetHandler application/x-httpd-php </FilesMatch> <FilesMatch "\.phps$"> SetHandler application/x-httpd-php-source </FilesMatch>
7 - Depois de inserir estas linhas, vamos continuar editando o arquivo. Vamos acrescentar as informações do nosso servidor:
Procure a linha ServerName e acrescente as informações do seu servidor (ainda estamos dentro do arquivo httpd.conf):
ServerName 10.10.10.103:80
OBS IMPORTANTE: Dependendo de como você está planejando configurar o Apache, a diretiva ServerName acima pode ser um nome de host, endereço IP ou nome de domínio totalmente qualificado. Se você está apenas executando o Apache para fins de testes internos, você pode simplesmente configurá-lo para o endereço IP do servidor. Se você quiser usar o nome do host no arquivo httpd.conf, certifique-se de ter também uma entrada correspondente no arquivo /etc/hosts para o nome do host, conforme mostrado abaixo.
Exemplo:
ServerName dev-server
# ee /etc/hosts 127.0.0.1 dev-server localhost.localdomain localhost 192.168.1.10 nome nome.meudocminio.com.br
8 - Depois de editar todas estas informações acima, vamos fechar o arquivo httpd.conf (não esqueça de salvar as configurações), e vamos iniciar o serviço do Apache24:
OBS IMPORTANTE: Antes de iniciar o serviço precisaremos inserir a linha apache24_enable=YES no etc/rc.conf:
# /usr/local/etc/rc.d/apache24 enable
- Ou edite o arquivo /etc/rc.conf e adicione a seguinte linha:
# ee /etc/rc.conf apache24_enable=YES
- Feche e salve o arquivo e somente depois de inserir esta linha no rc.conf é que vamos inicia-lo:
# /usr/local/etc/rc.d/apache24 start
- O serviço deve iniciar normalmente, se aparesentar alguma mensagem de erro, volte os passos e verifique se esqueceu de algo. Se for uma versão diferente deste tutorial talvez tenha que acrescentar ou retirar alguma configuração então fique atento.
9 - Partindo do ponto que seu serviço iniciou normalmente, agora vamos testar as configurações: Use o comando sockstat -4l e verifique se seu apache está rodando normalmente
root@indio:/usr/home/dhiemeson # sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS www httpd 679 4 tcp4 *:80 *:* www httpd 678 4 tcp4 *:80 *:* www httpd 677 4 tcp4 *:80 *:* www httpd 676 4 tcp4 *:80 *:* www httpd 675 4 tcp4 *:80 *:* root httpd 674 4 tcp4 *:80 *:* root sendmail 562 3 tcp4 127.0.0.1:25 *:* root sshd 548 4 tcp4 *:22 *:* root syslogd 362 7 udp4 *:514 *:*
- Um outro teste para testar o funcionamento do seu apache, abra um browser qualquer, e digite o endereço dele, no meu caso 10.10.10.103, ele deve mostrar um mensagem:
Is Work!
- Se está mensagem aparecer, você fez tudo certo, seu apache está rodando.
10 - Para testar o apache com o PHP, teremos que criar um arquivo do tipo PHP, podemos criar qualquer arquivo com instruções PHP. No meu caso vou criar um arquivo básico do PHP chamado “phpinfo.php”. Ele possui instruções que mostram as configurações básicas do PHP instalado.
root@indio:/usr/home/dhiemeson # ee /usr/local/www/apache24/data/phpinfo.php
- Dentro deste arquivo, acrescente as seguintes linhas:
<?php
phpinfo();
?>
- Salve o arquivo e vamos reiniciar o serviço apache.
- Para testar se o serviço já está funcionando, abra um browser e entre com o endereço do seu servidor “/” o nome do arquivo que criamos “phpinfo.php”:
172.19.1.123/phpinfo.php
- Deverá ser mostrado uma tela com algumas informações da versão php que está instalada.
11 - Precisamos instalar alguns módulos php. Cada um desses módulos permite que o WordPress use várias funções para executar determinadas tarefas:
root@famp:/usr/local/www/apache24/data # pkg install php72-mysqli php72-xml php72-hash php72-gd php72-curl php72-tokenizer php72-zlib php72-zip
12 - Vamos instalar o mysql, no meu caso vou instalar a versão 57:
root@famp:/usr/local/www/apache24/data # pkg search mysql5 mysql++-mysql56-3.2.2 Complex C++ API for MySQL56 mysql++1-mysql56-1.7.40_3 Complex C++ API for MySQL56 mysql-connector-odbc-unixodbc-mysql56-5.3.4_1 ODBC driver for MySQL56 / unixodbc mysql55-client-5.5.60 Multithreaded SQL database (client) mysql55-server-5.5.60 Multithreaded SQL database (server) mysql56-client-5.6.41 Multithreaded SQL database (client) mysql56-q4m-0.9.14_2 Message queue that works as a pluggable storage engine of MySQL mysql56-server-5.6.41 Multithreaded SQL database (server) mysql57-client-5.7.23 Multithreaded SQL database (client) mysql57-server-5.7.23_1 Multithreaded SQL database (server)
root@famp:/usr/local/www/apache24/data # pkg install mysql57-server-5.7.23_1
13 - Após o termino da instalação do mysql, vamos configurar o serviço no /etc/rc.conf e estartar o serviço. Se a instalação estiver sido correta, ele deve iniciar normalmente:
root@glpi:/usr/local/etc # ee /etc/rc.conf
[ (escape) menu | y search prompt | k delete line | p prev li |
---|---|---|---|
o ascii code | x search | l undelete line | n next li |
u end of file | a begin of line | w delete word | |
t top of text | e end of line | r restore word | |
c command | d delete char | j undelete char |
line 19 col 18 lines from top 19
hostname=“glpi.ueap.edu.br”
keymap=“br.kbd”
ifconfig_em0=“inet 172.19.1.123 netmask 255.255.255.0”
defaultrouter=“172.19.1.1”
sshd_enable=“YES”
# Set dumpdev to “AUTO” to enable crash dumps, “NO” to disable
dumpdev=“AUTO”
apache24_enable=“YES”
mysql_enable=“YES”
– Foi acrescentado a linha que inicia o serviço na hora do boot mysql_enable=“YES”, agora vamos startar o serviço
root@glpi:/usr/local/etc # /usr/local/etc/rc.d/mysql-server start Starting mysql.
– Agora vamos ver se o serviço está rodando:
root@glpi:/usr/local/etc # sockstat -4l USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS mysql mysqld 83282 22 tcp4 127.0.0.1:3306 *:* www httpd 80469 4 tcp4 *:80 *:* www httpd 80468 4 tcp4 *:80 *:* www httpd 80467 4 tcp4 *:80 *:* www httpd 80466 4 tcp4 *:80 *:* www httpd 80465 4 tcp4 *:80 *:* www httpd 80464 4 tcp4 *:80 *:* www httpd 80463 4 tcp4 *:80 *:* root httpd 80462 4 tcp4 *:80 *:* root sendmail 585 3 tcp4 127.0.0.1:25 *:* root sshd 557 4 tcp4 *:22 *:* root syslogd 355 7 udp4 *:514 *:* root@glpi:/usr/local/etc #
– Como podemos ver, o apache e o mysql já estão funcionando: – O mysql está rodando no endereço 127.0.0.1. Teremos que alterar para o endereço ip da máquina, vamos ter que editar o arquivo /usr/local/etc/mysql/my.cnf
root@glpi:/usr/local/etc/mysql # ee my.cnf
[ (escape) menu | y search prompt | k delete line | p prev li |
---|---|---|---|
o ascii code | x search | l undelete line | n next li |
u end of file | a begin of line | w delete word | |
t top of text | e end of line | r restore word | |
c command | d delete char | j undelete char |
line 15 col 46 lines from top 15
# $FreeBSD: branches/2018Q3/databases/mysql57-server/files/my.cnf.sample.in 414707 2016-05-06 14:39:59Z riggs $
[client] port = 3306 socket = /tmp/mysql.sock
[mysql] prompt = \u@\h [\d]>\_ no_auto_rehash
– Encontre a linha “bind-address” adicione o endereço IP e reinicie o serviço mysql:
bind-address = 172.19.1.123
root@glpi:/usr/local/etc/mysql # service mysql-server stop Stopping mysql. Waiting for PIDS: 85003 root@glpi:/usr/local/etc/mysql # service mysql-server start Starting mysql. root@glpi:/usr/local/etc/mysql # sockstat -4 USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS mysql mysqld 86585 22 tcp4 172.19.1.123:3306 *:* www httpd 83664 4 tcp4 *:80 *:* www httpd 83660 4 tcp4 *:80 *:* www httpd 83659 4 tcp4 *:80 *:* www httpd 83658 4 tcp4 *:80 *:* www httpd 83657 4 tcp4 *:80 *:* www httpd 83656 4 tcp4 *:80 *:* root httpd 83655 4 tcp4 *:80 *:* dhiemeson sshd 80149 3 tcp4 172.19.1.123:22 10.10.10.117:63198 root sshd 80146 3 tcp4 172.19.1.123:22 10.10.10.117:63198 root sendmail 585 3 tcp4 127.0.0.1:25 *:* root sshd 557 4 tcp4 *:22 *:* root syslogd 355 7 udp4 *:514 *:*
14 - Vamos preparar a configuração padrão do MySQL. Precisamos atribuir uma senha para a conta root do mysql, usaremos o comando “mysql_secure_installation”, ele vai nos dar algumas opções como:
1 - Change the password for root ? (Alterar a senha do root?) 1)(Press y|Y for Yes, any other key for No) : y
root@glpi:/usr/local/etc/mysql # mysql_secure_installation mysql_secure_installation: [ERROR] unknown variable 'prompt=\u@\h [\d]>\_'
Securing the MySQL server deployment.
Connecting to MySQL server using password in '/root/.mysql_secret'
VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin?
Press y|Y for Yes, any other key for No: Using existing password for root. Change the password for root ? ((Press y|Y for Yes, any other key for No) : y New password:
Re-enter new password: By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success.
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) :
… skipping. By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y - Dropping test database… Success.
- Removing privileges on test database… Success.
Reloading the privilege tables will ensure that all changes made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success.
All done! root@glpi:/usr/local/etc/mysql #
15 - Vamos tentar acessar com o root agora:
root@glpi:/usr/local/etc/mysql # mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.7.23-log
Copyright © 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
root@localhost [(none)]>
- Depois de logados vamos criar o Banco de Dados wordpress:
root@localhost [(none)]>root@localhost [(none)]> create database wordpress; Query OK, 1 row affected (0.00 sec)
OBS IMPORTANTE: Se tentar criar o BD e receber uma mensagem de erro como esta abaixo:
root@localhost [(none)]> create database wordpress; ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
- Você terá que usar o seguinte comando:
root@localhost [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('sua_senha_aqui'); Query OK, 0 rows affected, 1 warning (0.00 sec)
- Após isto o mysql deverá permitir suas instruções normalmente:
16 - Após criar o banco, vamos criar um usuário no mysql que vai interagir com o banco de dados wordpress:
root@localhost [(none)]> CREATE USER wordpressuser@localhost IDENTIFIED BY 'sua_senha_aqui';
17 - Agora neste ponto, nos temos o banco de dados MySQL e o usuário que o WordPress usará. No entanto, devemos conceder ao usuário acesso ao banco de dados. Para fazer isso, usaremos essa instrução SQL:
root@localhost [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost; Query OK, 0 rows affected (0.00 sec)
root@localhost [(none)]>
18 - Saia do console de comando mysql:
root@localhost [(none)]> exit Bye
19 - Agora vamos baixar o wordpress. Entre em um deretório de sua preferência, no meu caso vou baixar para dentro da pasta do meu usuário:
root@famp:~ # cd /home/dhiemeson/
- Agora vamos baixar a ultima versão
# wget https://br.wordpress.org/wordpress-4.9.8-pt_BR.tar.gz
20 - Ao final do termino do download, vamos extrair o arquivo com o comando abaixo:
root@famp:/home/dhiemeson # tar xvf latest.tar.gz
21 - Vamos configurar o wordpress, entre no diretório que você extraio:
root@famp:/home/dhiemeson # cd wordpress/
22 - Para simplificar a configuração, vamos basear nossa configuração do WordPress na configuração de amostra fornecida wp-config-sample.php. Copie a amostra para wp-config.php o arquivo de configuração padrão do WordPress:
root@famp:/home/dhiemeson/wordpress # cp wp-config-sample.php wp-config.php
23 - Agora vamos editar o arquivo de configuração:
root@famp:/home/dhiemeson/wordpress # ee wp-config.php
– As únicas modificações que precisamos fazer são as configurações do MySQL. Devemos atualizar os valores dos seguintes parâmetros:
DB_NAME DB_USER DB_PASSWORD
– Eles correspondem ao banco de dados MySQL e ao usuário que preparamos em uma etapa anterior. Procure as linhas a seguir e atualize as partes destacadas com o nome do banco de dados, usuário e senha:
MySQL settings - You can get this info from your web host define('DB_NAME', 'wordpress'); define('DB_USER', 'wordpressuser'); define('DB_PASSWORD', 'password');
– Salve e saia.
24 - Depois de editar estas informações, vamos copiar os arquivos do WordPress para o document root do Apache comando cp:
root@famp:/home/dhiemeson # cp -rp wordpress/* /usr/local/www/apache24/data/
25 - Agora altere a propriedade dos arquivos do WordPress para o usuário www e grupo, que é o nome do usuário que executa o processo Apache, para que o Apache tenha acesso apropriado:
root@famp:/home/dhiemeson # chown -R www:www /usr/local/www/apache24/data/*
– Precisamos editar o arquivo /usr/local/etc/apache24/http.conf e acrescentar o 'index.php' na linha DirectoryIndex:
– Abra este arquivo e vamos acrescentar, segue o exemplo de como o arquivo se encontrava configurado e como ficou após a configuração:
Exemplo de como o arquivo vem configurado:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
—
– Como deve ficar após a nossa configuração
<IfModule dir_module>
DirectoryIndex index.php index.html
</IfModule>
26 - Esta quase tudo terminado, vamos executar o script de instalação do Wordpress:
– Abra um navegador e digite o endereço do seu servidor apache:
10.10.10.105/index.php
26 - Se você seguiu todos os passos corretamente irá abrir uma tela de configuração do wordpress, configure com as informações que você precisa:
– Configurações que eu usei:
Idioma : Porguês Brail Titulo do Site : Eleições 2018 Usuário : wpadmin Senha : 123 Email : admin@eleicoes2018.com
## Lembrar de descomentar a linha de LoadModule abaixo para resolver o problema abaixo descrito:
No .htaccess pra multisite no wordpress funcionar e necessario usar o RewriteEngine On que depende do mod acima
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
Deixe sua contribuição