Showing posts with label PostgreSQL. Show all posts
Showing posts with label PostgreSQL. Show all posts

Sunday, November 2, 2014

Instalando servidor web Apache, PHP, MySQL, PostgreSQL no Ubuntu

Neste post irei abordar de forma resumida como instalar o famoso LAMP incluindo o PostgreSQL que é um poderoso banco de dados. Recentemente tive um projeto que iria manipular muitos dados, testei o MySQL, PostgreSQL e o Oracle. Para projetos de pequeno e médio porte eu particularmente recomendo o MySQL ou o PostgreSQL, no meu caso eu sempre escolho o PostgreSQL. Foram poucos os projetos em que trabalhei com o MySQL. Mas tudo depende e vai de cada um realizar a melhor escolha.
Para este projeto eu acabei ficando com o Oracle. Oracle é Oracle e não precisa falar muito. Neste projeto também utilizei JavaEE com JSF2.2. Depois vou fazer um post de como instalar o Oracle, configurar o Java e o Tomcat no Ubuntu.
Daqui para frente vou entender que você já sabe o que é um terminal e já sabe como instalar programas via linha de comando.
Vamos começar pelo Apache, lembrando que esse não é o Apache Tomcat. O comando para instalar o Apache é:

#sudo apt-get install apache2

Em seguida iremos instalar o MySQL e o MySQL Workbench que é a ferramenta visual (GUI) que usamos para trabalhar com o banco de dados de forma mais produtiva, lembrando que você pode usar outra ferramenta de sua preferência.
Durante a instalação do MySQL será necessário informar a senha do root, basta digitar a senha e apertar a tecla para baixo, ele vai cair no [OK] então pressione a tecla Enter ou a tecla de espaço, digite a senha novamente e repita o processo para confirmar a senha.
Para instalar o MYSQL executaremos o seguinte comando:

#sudo apt-get install mysql-server mysql-workbench

Agora iremos instalar o PostgreSQL bem como o pgAdmin3 que é a interface gráfica (GUI) de manipulação do banco de dados de forma mais produtiva.

#sudo apt-get install postgresql pgadmin3

No processo de instalação do PostgreSQL o sistema não vai solicitar que você informe a senha do postgres (usuário do tipo root do MySQL). Para que seja definida a senha padrão do seu usuário postgres você deverá aguardar toda a finalização do processo de instalação do banco e no terminal você vai digitar:

sudo su postgres

Vai ser solicitado sua senha de root, após informar sua senha irá aparecer:

postgres@(seu usuário):

Digite:

psql

E altere a senha do banco com o seguinte comando:

ALTER ROLE POSTGRES PASSWORD 'sua_senha';

Pressione enter vai aparecer ALTER ROLE e em seguida \q para sair.

E por último iremos instalar o PHP5.5.9 versão estável atual do Ubuntu e também as bibliotecas de conexão com os bancos de dados MYSQL e PostgreSQL, integração com o apache e outras bibliotecas comuns.

#sudo apt-get install php5 php5-pgsql php5-mysql libpq-dev php-pear php5-xsl php5-gd libapache2-mod-php5 php5-curl

Agora é hora de testar tudo e ver se foi corretamente instalado o PHP, Apache, MySQL e o PostgreSQL. Como já temos o terminal de comando aberto digite:

#sudo gedit /var/www/html/index.php

Vai ser aberto o texteditor do Ubuntu, digite:

<?php phpinfo(); ?>

Salve e feche o texteditor.
Abra o Firefox ou o seu browser preferido e digite localhost/index.php e verifique se todas as suas configurações foram ativadas.
☝️Se você acessr apenas o localhost neste momento, o Apache vai buscar o arquivo index.html que existe na pasta www/html e não vai exibir os dados do PHP que criamos no arquivo anterior.

Tela do phpinfo();
Se estiver tudo OK vamos agora finalizar todo este processo e alterar algumas configurações do Apache e do php.ini.
No Apache iremos alterar o  caminho padrão das pastas do servidor que é onde os seus projetos PHP deverão ficar salvos. Já li várias maneiras de alterar, mas a que eu sempre uso (e sempre funciona) é a seguinte:
Pelo terminal de comando digite:

#sudo gedit /etc/apache2/sites-available/000-default.conf

Localize o texto /var/www/html e altere o caminho para o que você irá utilizar por exemplo /home/fulano/webroot. Feito salve o arquivo e feche o texteditor. Em seguida altere o arquivo:

#sudo gedit /etc/apache2/apache2.conf

Localize o mesmo caminho alterado no arquivo anterior (/var/www/html) e coloque o mesmo caminho que você informou no arquivo anterior.
Só execute estes comandos acima caso você possua um outro local de armazenamento e execução dos seus projetos.

Para finalizar iremos alterar algumas configurações básicas do PHP. Posteriormente você poderá alterar qualquer outra configuração que desejar!
Para isto abra o arquivo php.ini localizado em /etc/php5/apache2/php.ini e procure por short_open_tag = Off e altere para short_open_tag = On esta configuração faz com que os scripts em PHP (seu arquivo .php) possa ser executado utilizando <?php ?> ou apenas o <? ?>. Muitas bibliotecas que já utilizei do PHP não foram "criadas" utilizando o modo padrão do PHP que é <?php ?> com isso acaba que o PHP não consegue "ler" o seu arquivo.
Em seguida procure por display_errors = Off e altere para display_errors = On o nome já diz tudo né? Essa configuração faz com que o PHP exiba os erros na tela do browser (ou linha de comando).
E por fim procure date.timezone = e altere para date.timezone = America/Sao_Paulo com isso iremos "setar" o Timezone do seu servidor para o Timezone do Brasil. Alguns frameworks como o Symfony e o Cake utilizam esta configuração para serem instalados corretamente.