Transforme o seu CentOS num servidor Web (LAMP)
Todos nós sabemos que as distribuições Linux são extremamente potentes e flexíveis, e que a maioria dos servidores, espalhados pelo mundo, usam Linux para implementar os mais diversos serviços (ex. WWW, DNS, FTP, SSH, entre outros).
Hoje, à semelhança do que temos feito para o Ubuntu, vamos ensinar como transformar o nosso CentOS num autêntico servidor Web com suporte para MySQL e PHP.
O que é um LAMP?
Noutro dia alguém me questionava sobre o que era afinal um LAMP. Ora bem, no pplware já apresentamos um conjunto de artigos que ensinam a montar um verdadeiro servidor LAMP (Linux, Apache, Mysql e PHP).
Basicamente um LAMP (Linux, Apache, MySQL e PHP) é um conjunto de serviços sobre Linux, que nos permitem criar um verdadeiro servidor Web (Apache – para colocar conteúdos online como por exemplo sites, plataformas como wordpress, Joomla, wikis, etc) com suporte para a linguagem de programação PHP com suporte para o serviço de base de dados MySQL.
Para transformarem o vosso CentOS num autêntico LAMP devem seguir os seguintes passos:
1) Instalação do Apache
A instalação do Apache no CentOS é algo relativamente simples. Para isso basta abrirem o terminal e inserir o seguinte comando:
yum install httpd -y |
Depois de instalado, o serviço pode ser iniciado através do comando:
/etc/init.d/httpd start |
Para verificar se o serviço está a correr correctamente, abram o browser na própria máquina e insiram o endereço http://localhost
Por omissão, no CentOS a directoria por omissão para colocar sites é em /var/www/html. Relativamente à configuração do Apache, o ficheiro principal de configuração encontra-se em /etc/httpd/conf/httpd.conf
Caso pretendam que o serviço inicie automaticamente após reiniciarem a máquina no runlevel 3 ou 5 (Saber mais sobre RunLevels aqui) devem executar o comando:
chkconfig --levels 235 httpd on |
2) Instalação do MySQL
Para instalar o MySQL, basta correr o seguinte comando.
yum install mysql mysql-server –y |
Em seguida, mande iniciar o serviço e configure de imediato o serviço para que este arranque automaticamente aquando do arranque do sistema.
/etc/init.d/mysqld start chkconfig --levels 235 mysqld on |
Configurar o MySQL
Para configurar uma password de acesso ao MySQL com o utilizador root, deverá executar o seguinte comando:
/usr/bin/mysql_secure_installation |
Durante a configuração, devem seguir os seguintes passos:
Enter current password for root (enter for none): # DAR ENTER #
Set root password? [Y/n] # DAR ENTER #
New password: # Redefinir Password #
Re-enter new password: # Redefinir Password #
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
3) Instalar PHP
Para instalar o PHP basta executar o seguinte comando
yum install php –y |
Em seguida devemos reiniciar o Apache
/etc/init.d/httpd restart |
Se quisermos testar o suporte para PHP e ver todos os parâmetros associados ao Apache+PHP+MySQL, podemos criar um pequeno script com as seguintes linhas:
<?php phpinfo(); ?> |
e gravar, por exemplo, num ficheiro com o nome phpinfo.php e colocar no directório /var/www/html
Depois basta ir ao browser e escrever http://localhost/phpinfo.php
Para que o MySQL tenha suporte para PHP, basta que executar o seguinte comando para instalar o pacote php-mysql -y:
yum install php-mysql –y |
Em seguida mandamos novamente reiniciar o Apache e voltamos a abrir o enderço http://localhost/phpinfo.php para verificarmos que o MySQL já tem suporte para PHP.
E está feito…temos um servidor WEB proto a funcionar. Estas configurações servirão de base a alguns tutoriais que temos já preparados e que disponibilizaremos nos próximos tempos. Estejam atentos.
Qual a distribuição Linux que usam em servidores?
Este artigo tem mais de um ano
Não gosto de PHP.
O PHP tb não gosta de ti.
hahahahaha
Se não gostas… deixa na beirinha do prato! 😀
Não conheço ninguem que não goste de PHP…agora ja conheço 1 🙂
Não gosto do Weak-Typing.
Boas..
Eu também não gosto…ja conheces dois lol
O PHP é uma linguagem feita, muito mal estructurada.
É só por isso…e também por causa de alguns conceitos…já que se baseia-a no C…poderiam seguir os conceitos do C…e ai seria um expectaculo, mas estragaram a coisa…secalhar com o intuito de facilitar, o que já era básico…e estragou-se.
De resto, nada contra, mas eu quando embirro filosoficamente com uma coisa…só uso porque sou obrigado… lol 😀
Quanto aos servidores…já conheces a minha resposta e eu a tua 😉
A grande maioria ainda em debian squeeze, mas já há por aqui umas dezenas em wheezy.
cmps
Tava a ver que era o único programador que gosta de formalidade daqui 🙂
Sim, infelizmente não há nenhuma linguagem web que substitua bem o PHP… Por isso é que é tão utilizado…
Já experimentei o Python, é rápido e porreirito até, mas depois tem aquelas manhas dos blocos definidos pela indentação (sucks), e de não haver uma standard nos nomes, e depois, apesar de ser strong-cast, tem uma coisa ainda pior, os tipos não são explícitos… confusaaaaaaao!
Ps: sei o JSP, mas já me disseram que consome muitos recursos, e não é bom para muitos clientes…
isso depende do hardware…existem sites mundiais gigantes a nível de acessos a usar java…
No java tens a desvantagem de que quando as tuas paginas são geradas as primeiras vezes são mais lentas, e o processo vai aumentando a velocidade da geração, á medida que os acessos vão aumentado…e consegues valores brutais de velocidade, mas tens que ter recursos para isso…
A desvantagem é que cada vez que alterares código…vai começar outra vez do zero…que não sendo mau, não é o desejado…mas isto depende da infraestrutura que tiveres, … no entanto é mais fácil criares o teu site, usando uma linguagem muito bem desenhada.
cmps
Eu não gosto de sopa de tomate, e peixe cozido também não.
Todo este guia no Ubuntu resume-se apenas a um comando:
$ sudo apt-get install lamp-server^
Aqui também existem dessas coisas com o yum groupinstall
pedro…
quando fazes o groupinstall colocas o nome de um meta-package, que só por si vai instalar todos os packages ou tens que os colocar a todos os pacotes explicitamente?
Digo isto porque no debian basta usar um metapackage…se ele existir claro 😀
cmps
E o metapqckage vai configurar os outros packages para encadearem.
(pergunto?) 😀
Recentemente instalei Debian 7 no meu. 🙂 Estou a gostar bastante. Adoro o apt-get. 😛
Vou usá-lo para correr uma web app desenvolvida sobre ruby on rails.
E com Maria-DB?
E em termos de segurança, o que recomendam fazer?
http://en.wikipedia.org/wiki/Principle_of_least_privilege
E clustering para RMA e uma segurança acrescida, é o que (eu) recomendo.
Pedro,como podemos configurar de forma a que seja acessível através de outro computador (com por exemplo windows)?
Assim, podiamos ter lá todos os website que são desenvolvidos, e no windows programava.
Obrigado.
Cumprimentos,
Miguel
Viva
Normalmente ativo o SSH server no servidor e trabalho na minha máquina workstation (windows ou linux, é igual). Em seguida faço upload do trabalho para o server via Filezilla (usando a porta 22 do SSH).
1. Usa o GIT, SSH e um Hook Post no repositório remoto.
2. Usa o NetBeans com os projectos remotos.
Eu prefiro o GIT, pois remotamente, para além do site “live”, ainda tenho uma cópia do desnvolvimento (repositório) que posso clonar no GitHub ou BitBucket ou num outro qualquer PC.
O sincronismo é melhor que o do NetBeans.
Uso debian nos meus servers e VM. Mas sei que Centos é bastante sólido tb 🙂
Os passos para configurar um LAMP básico são semelhantes.
uso o redhat e os passos também são os mesmos, mas tenho de experimentar os o centos
Centos = Redhat –> só muda o logotipo, os repositórios, e quem faz o trabalho
E a principal razão de usar redhat -> assistência técnica profissional.
Bom dia,
ando a testar o CentOS para servidor WEB, quais sao as configurações de MySql, php e apache que recomendam?
tenho as configurações por defeito mas acho que o as aplicações web estão um pouco lentas a responder.
obrigado
Muito bom fico a espera de como instalar o dns e o configurar em CentOS, abraços fazem falta mais artigos deste tipo.
Aqui, os nossos servidores web são todos CentOS. Embora em laboratório a malta experimente de tudo um pouco.
Já agora, porquê a escolha?
Aguardando os próximos passos: primeiro site upado para o tal servidor.
Pedro, o que você acha do NGINX (Engine-X)? Eu era usuário do Apache e quando descobri a performance do NGINX, nunca mais voltei atrás! Admito que é um pouco difícil de obter suporte, mas o sistema é muito mais rápido e estável do que o Apache, além de consumir menor recursos (muito menos memória RAM).
É bom, é bom! 🙂
bommmm, so queria saber como rodar um serviço em uma porta ex 7095
ip xxx.xxx.xxx.xx:7095
var/www/html/sistema.php
Boa noite Pedro,
Voce disse:
“Para verificar se o serviço está a correr correctamente, abram o browser na própria máquina e insiram o endereço http://localhost”
Como posso entrar na própria maquina? Como se fosse um controle remoto. Só consigo acessar via SSH e WinSCP.
Como você faz para abrir a maquina, igual nas imagens?
Abraços!
Alguem me pode ajudar?
Eu fiz isto tudo direitinho… Mas agora como posso criar um base de dados para instalar o WordPress?
Cumps