Como construir um servidor web Apache, PHP 5 e Mysql do zero

Índice
Vamos desenvolver como instalar, configurar e otimizar um servidor web em Linux. O tutorial é válido para qualquer distribuição, alterando os comandos correspondentes para instalar ou atualizar arquivos. Neste caso, será feito para uma distribuição CentOS.

Imagem enviada

O primeiro passo é conectar ao nosso servidor usando ssh do terminal.
Ao acessar o servidor, procedemos à instalação do Apache.
root @ server1: ~ # yum install httpd
Depois instalamos o php, tenha cuidado com a versão que instalamos porque se for muito nova muitas aplicações web podem ficar obsoletas e não funcionar.
root @ server1: ~ # yum apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi
Nós instalamos o Mysql
root @ server1: ~ # yum install mysql mysql-server
Para gerenciar o Mysql, podemos instalar o phpmyadmin
root @ server1: ~ # yum install phpmyadmin
Configurando e otimizando o serviço do servidor
A primeira coisa que faremos é que o apache inicie automaticamente com o sistema, caso contrário, devemos iniciá-lo manualmente
root @ server1: ~ # yum chkconfig --level 235 httpd on
Reiniciamos ou iniciamos o serviço apache manualmente (reiniciar ou iniciar)
root @ server1: ~ # yum /etc/init.d/httpd start
Também diremos ao mysql para iniciar automaticamente e iniciar o serviço
root @ server1: ~ # yum chkconfig --level 235 mysqld on
root @ server1: ~ # yum /etc/inti.d/mysqld start
Para testar se o servidor está instalado e funciona podemos visitar o ip do servidor e a página do apache deve responder

Imagem enviada

Otimizando Apache
Oculte a versão e informações confidenciais do público. Usuários mal-intencionados podem usar essas informações para atacar seu servidor.
root @ server1: ~ # nano /etc/httpd/conf/httpd.conf
Adicione esta diretiva ou altere-a para o seguinte
ServerSignature Off
ServerTokens Prod

Desativar a navegação no diretório
Opções - Índices
Em seguida, salve as alterações e reinicie o Apache
root @ server1: ~ # /etc/init.d/httpd restart
Configure as seguintes variáveis ​​httpd.conf
root @ server1: ~ # irmão mais velho /etc/httpd/conf/httpd.conf
Tempo esgotado define, em segundos, o tempo que o servidor aguardará para receber e transmitir durante a comunicação. 60 e 300 segundos, interfere no envio de arquivos por forms, requisições TCP, GET, etc. Portanto, deve ser definido dependendo do uso do servidor.
MaxClients estabelece um limite para o número total de processos do servidor ou clientes conectados simultaneamente, que podem ser executados ao mesmo tempo, dependendo do uso que varia o desempenho do servidor.
KeepAliveTimeout define o número de segundos que o servidor aguardará após atender a uma solicitação e fechar a conexão, normalmente de 10 a 15 segundos.
Otimizando e configurando MYSQL
Para otimizar e configurar o mysql, vamos
root @ server1: ~ # nano /etc/my.cnf
Algumas variáveis ​​para otimizar e configurar são:
Crie um registro onde as consultas são salvas e leva mais de 2 segundos para otimizá-las
log-slow-queries = / var / log / mysql-slow-queries.log
long_query_time = 2 (em segundos)
Desconecte qualquer cliente inativo em x segundos, evitando que ocupe uma conexão
wait_timeout = 30
connect_timeout = 10
O cache de memória e o tamanho do buffer também podem ser configurados, o que dependerá das necessidades do servidor.
Otimizando php
O mais importante sobre o php é otimizar o php.ini, neste caso dependerá das necessidades de suas aplicações
root @ server1: ~ # irmão mais velho /etc/php.ini
max_execution_time - Isso determina o tempo que um script pode levar para ser executado; se você estiver usando scripts que consomem muitos recursos, pode querer ajustar isso da maneira mais conveniente.
limite_de_memória - Se o seu script usa muita memória para ser executado de forma eficaz, já que alguns dos serviços de hospedagem compartilhada permitem apenas 16 MB, se você pode configurá-lo melhor, defina-o para 32 MB.
post_max_size - Se você possui um site onde os usuários podem fazer upload de arquivos para o servidor, aqui você pode configurar o limite máximo do tamanho dos arquivos que podem ser carregados, a partir do método POST, para tarefas de importação ou upload de arquivos e imagens.Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave