Servidor WEB Apache + PHP + MariaDB + phpMyAdmin

Então mãos a obra:

  • # apt install apache2 apache2-utils | Instalação do Apache 2
  • # a2enmod rewrite | Vamos habilitar o mod_rewrite do Apache que é muito utilizado. Este é um módulo do Apache que utiliza um mecanismo baseado em regras de reescrita. Vamos ao comando para habilita-lo:
  • # systemctl restart apache2 | Agora precisamos restartar o apache2 para que tenha efeito as alterações.

A página que vimos ao abrir o ip do nosso servidor no navegador fica no diretório /var/www/html, isso está sendo informado no arquivo default do apache que fica em /etc/apache2/sites-enabled/000-default.conf, e para que nosso mod_rewrite funcione corretamente será necessário adicionar alguma linhas.

nano /etc/apache2/sites-enabled/000-default.conf

<Directory /var/www/html/>    
Options FollowSymLinks    
AllowOverride All
</Directory>

http://[SERVER_IP]/

cd /var/www/html | Visualizar Pagina do APACHE2.
rm index.html | Remover Arquivo.


Por segurança remova a assinatura do apache.
cd /etc/apache2/conf-enabled
nano security.conf

ServerTokens Prod
ServerSignature Off
# sed -i 's/ServerTokens OS/ServerTokens Prod/' /etc/apache2/conf-available/security.conf
# sed -i 's/ServerSignature On/ServerSignature Off/' /etc/apache2/conf-available/security.conf

  • MariaDB

# apt install mariadb-server mariadb-client

mariadb -u root

USE mysql;
UPDATE user SET password=PASSWORD('naotemsenha') WHERE User='root';
UPDATE user SET plugin="mysql_native_password";
FLUSH PRIVILEGES;
quit;

mariadb -p


  • PHP

apt install libapache2-mod-php php php-mysql php-cli php-pear php-gmp php-gd php-bcmath php-mbstring php-curl php-xml php-zip

systemctl restart apache2

php --version

Você pode criar um arquivo php com a função phpinfo() para mostrar todas as informações.
echo ‘<?php phpinfo(); ?>’ > /var/www/html/phpinfo.php

http://[SERVER_IP]/phpinfo.php


  • phpMyAdmin

apt install wget

cd /tmp/

Para phpMyAdmin 5 (05/06/2021)
wget https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.gz
tar -vxzf phpMyAdmin-5.1.1-all-languages.tar.gz -C /usr/share/
mv /usr/share/phpMyAdmin-5.1.1-all-languages /usr/share/phpmyadmin

Para phpMyAdmin 4 (05/06/2021)
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.7/phpMyAdmin-4.9.7-all-languages.tar.gz
tar -vxzf phpMyAdmin-4.9.7-all-languages.tar.gz -C /usr/share/
mv /usr/share/phpMyAdmin-4.9.7-all-languages /usr/share/phpmyadmin

mkdir /etc/phpmyadmin
touch /etc/phpmyadmin/htpasswd.setup
mkdir -p /var/lib/phpmyadmin/tmp
chown www-data. /var/lib/phpmyadmin/ -R


Criaremos o arquivo de configuração do Apache.

nano /etc/apache2/conf-available/phpmyadmin.conf

# phpMyAdmin default Apache configuration
 
Alias /phpmyadmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin>
 Options FollowSymLinks
 DirectoryIndex index.php
 
 <IfModule mod_php7.c>
 AddType application/x-httpd-php .php
 
 php_flag magic_quotes_gpc Off
 php_flag track_vars On
 php_flag register_globals Off
 php_value include_path .
 </IfModule>
 
</Directory>
 
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
 <IfModule mod_authn_file.c>
 AuthType Basic
 AuthName "phpMyAdmin Setup"
 AuthUserFile /etc/phpmyadmin/htpasswd.setup
 </IfModule>
 Require valid-user
</Directory>
 
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
 Order Deny,Allow
 Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
 Order Deny,Allow
 Deny from All
</Directory>

Com Restrição de IP

# phpMyAdmin default Apache configuration
 
Alias /phpmyadmin /usr/share/phpmyadmin
 
<Directory /usr/share/phpmyadmin>
 Options FollowSymLinks
 DirectoryIndex index.php
 
 AllowOverride All
 Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe:d0ce::/64
 
 <IfModule mod_php7.c>
 AddType application/x-httpd-php .php
 
 php_flag magic_quotes_gpc Off
 php_flag track_vars On
 php_flag register_globals Off
 php_value include_path .
 </IfModule>
 
</Directory>
 
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
 AllowOverride All
 Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe:d0ce::/64
 <IfModule mod_authn_file.c>
 AuthType Basic
 AuthName "phpMyAdmin Setup"
 AuthUserFile /etc/phpmyadmin/htpasswd.setup
 </IfModule>
 Require valid-user
</Directory>
 
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
 AllowOverride All
 Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe:d0ce::/64
 Order Deny,Allow
 Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
 AllowOverride All
 Require ip 127.0.0.1 ::1 200.200.200.0/26 2001:db8:cafe:d0ce::/64
 Order Deny,Allow
 Deny from All
</Directory>

Ative a configuração e reinicie o Apache.

# a2enconf phpmyadmin
# systemctl restart apache2
# systemctl status apache2

mariadb -p

CREATE DATABASE phpmyadmin;
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'temsenha';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'myadmtemsenha' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Carregue as tabelas do banco de dados:

mariadb -u root -p phpmyadmin < /usr/share/phpmyadmin/sql/create_tables.sql

(Informe a senha do root do MariaDB)

Agora é necessário ajustar o arquivo de configuração do phpmyadmin.
Definir:
* senha segura (blowfish secret) que deve ter 32 caracteres. Não use o meu exemplo blowfish secreto, defina o seu próprio! Use o gerador https://senhasegura.remontti.com.br
* diretório que o PHPMyAdmin deve usar para armazenar arquivos temporários.
* Descomentar as linhas $cfg[‘Servers’]
– controlhost : localhost
– controlpass : SUA_SENHA

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

nano /usr/share/phpmyadmin/config.inc.php

$cfg['blowfish_secret'] = 'dkJhGx83XR3JjuFrDn8kPp9NtXnkLptl';
/* Adicione esta linha */
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
 
/* User used to manipulate with storage */
$cfg['Servers'][$i]['controlhost'] = 'localhost';
$cfg['Servers'][$i]['controlport'] = '';
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'SUA_SENHA';
 
/* Storage database and tables */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

http://[SERVER_IP]/phpmyadmin/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *