Servidor LAMP com PHP7 no Linux Mint 18 e no Ubuntu 16.04

Como instalar um servidor LAMP, com PHP 7, para desenvolvimento web de forma rápida e fácil, no Linux Mint 18 e no Ubuntu 16.04.

[ Hits: 154.419 ]

Por: Lisandro Guerra em 04/08/2016


O que é um servidor LAMP



LAMP é uma combinação de softwares livres e de código aberto muito utilizado para desenvolvimento WEB.

O acrônimo LAMP, refere-se às primeiras letras de:
  • Linux (sistema operacional)
  • Apache (servidor web)
  • MySQL ou MariaDB (software de banco de dados)
  • PHP, Perl ou Python (linguagens de programação)

Componentes principais para viabilizar o desenvolvimento de aplicações web de propósito geral, de alta disponibilidade e de alto desempenho.

A combinação exata do software incluído em um pacote LAMP pode variar, especialmente com respeito ao software de script web, uma vez que Perl ou Python, às vezes, não são utilizados. Apesar de os autores originais destes programas não os terem desenvolvido para trabalhar especificamente um com o outro, a filosofia e o conjunto de ferramentas de desenvolvimento são compartilhados e foram desenvolvidos em conjunção próxima.

Essa combinação de software tornou-se popular devido serem de código aberto, livres de custo, e assim de fácil adaptação, e devido à ubiquidade de seus componentes que são empacotados com as distribuições GNU/Linux mais atuais. Quando usadas juntas, suportam servidores de aplicações web.

Fonte: LAMP - Wikipédia, a enciclopédia livre

Existe algum material aqui mesmo no VOL sobre o assunto, mas não aborda a instalação com PHP7 nem estas versões de Linux.

Basicamente, podemos fazer o servidor LAMP de duas maneiras, a primeira é instalando, configurando e subindo cada um dos softwares e seus serviços. A outra, é instalar e configurar tudo de uma vez. Aqui, usaremos este último método.

PHP 7 é nova versão do PHP.

O PHP sofreu modificações profundas e necessárias, foi tão polêmico quanto demorado este processo que acabou provocando um salto da versão 5.x direto para a versão 7.

Alguns dos principais pontos de melhoria do PHP 7 incluem o aumento considerável de desempenho, os novos operadores, o tratamento de erros como exceções, o tão esperado e discutido suporte a Unicode, implementação de classes anônimas, indução de tipos em variáveis e funções, declaração de tipo de retorno etc.

    Próxima página

Páginas do artigo
   1. O que é um servidor LAMP
   2. Instalação / Ajustes
   3. Phpmyadmin
Outros artigos deste autor

Exemplos práticos de comandos com Parted

Arduino IDE no Linux Mint

Ktechlab - Ambiente de simulação de circuitos

Instalando o Linux direto do HD

Conky no Slackware 13

Leitura recomendada

SIGE Plus, uma derivação do código do Siages descontinuado pela Solis

Bioinformática - Instalação do Mr Bayes em ambiente paralelo

Compilando e otimizando KDE 3.x

Por que não migrar?

Como organizar biblioteca de músicas no computador

  
Comentários
[1] Comentário enviado por J0taLinux_981 em 04/08/2016 - 10:55h

Parabens pelo post. Gostei muito. No entanto, ao tentar instalar e configurar o phpmyadmin com a linha de comando abaixo:
Include /etc/phpmyadmin/apache.conf
O apache para de funcionar e não consigo mais trabalhar com ele. Uso Mint 17.1.
Este é o final do arquivo conf:
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

#aqui acrescento o comando
Include /etc/phpmyadmin/apache.conf
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

não abre a página, aparece isso:

addJSON( 'options', PMA_RecentTable::getInstance()->getHtmlSelectOption() ); exit; } if ($GLOBALS['PMA_Config']->isGitRevision()) { if (isset($_REQUEST['git_revision']) && $GLOBALS['is_ajax_request'] == true) { PMA_printGitRevision(); exit; } echo '
'; } // Handles some variables that may have been sent by the calling script $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; $show_query = '1'; // Any message to display? if (! empty($message)) { echo PMA_Util::getMessage($message); unset($message); } $common_url_query = PMA_generate_common_url('', ''); // when $server > 0, a server has been chosen so we can display // all MySQL-related information if ($server > 0) { include 'libraries/server_common.inc.php'; include 'libraries/StorageEngine.class.php'; // Use the verbose name of the server instead of the hostname // if a value is set $server_info = ''; if (! empty($cfg['Server']['verbose'])) { $server_info .= htmlspecialchars($cfg['Server']['verbose']); if ($GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ' ('; } } if ($GLOBALS['cfg']['ShowServerInfo'] || empty($cfg['Server']['verbose'])) { $server_info .= PMA_DBI_get_host_info(); } if (! empty($cfg['Server']['verbose']) && $GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ')'; } $mysql_cur_user_and_host = PMA_DBI_fetch_value('SELECT USER();'); // should we add the port info here? $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg']['Server']['host']); } echo '
' . "\n"; echo '
'; if ($server > 0 || count($cfg['Servers']) > 1 ) { echo '
'; echo ' [...]
Você poderia me ajudar? Aguardo resposta.


[2] Comentário enviado por Lisandro em 04/08/2016 - 17:16h


[1] Comentário enviado por J0taLinux_981 em 04/08/2016 - 10:55h

Parabens pelo post. Gostei muito. No entanto, ao tentar instalar e configurar o phpmyadmin com a linha de comando abaixo:
Include /etc/phpmyadmin/apache.conf
O apache para de funcionar e não consigo mais trabalhar com ele. Uso Mint 17.1.
Este é o final do arquivo conf:
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

#aqui acrescento o comando
Include /etc/phpmyadmin/apache.conf
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

não abre a página, aparece isso:

addJSON( 'options', PMA_RecentTable::getInstance()->getHtmlSelectOption() ); exit; } if ($GLOBALS['PMA_Config']->isGitRevision()) { if (isset($_REQUEST['git_revision']) && $GLOBALS['is_ajax_request'] == true) { PMA_printGitRevision(); exit; } echo '
'; } // Handles some variables that may have been sent by the calling script $GLOBALS['db'] = ''; $GLOBALS['table'] = ''; $show_query = '1'; // Any message to display? if (! empty($message)) { echo PMA_Util::getMessage($message); unset($message); } $common_url_query = PMA_generate_common_url('', ''); // when $server > 0, a server has been chosen so we can display // all MySQL-related information if ($server > 0) { include 'libraries/server_common.inc.php'; include 'libraries/StorageEngine.class.php'; // Use the verbose name of the server instead of the hostname // if a value is set $server_info = ''; if (! empty($cfg['Server']['verbose'])) { $server_info .= htmlspecialchars($cfg['Server']['verbose']); if ($GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ' ('; } } if ($GLOBALS['cfg']['ShowServerInfo'] || empty($cfg['Server']['verbose'])) { $server_info .= PMA_DBI_get_host_info(); } if (! empty($cfg['Server']['verbose']) && $GLOBALS['cfg']['ShowServerInfo']) { $server_info .= ')'; } $mysql_cur_user_and_host = PMA_DBI_fetch_value('SELECT USER();'); // should we add the port info here? $short_server_info = (!empty($GLOBALS['cfg']['Server']['verbose']) ? $GLOBALS['cfg']['Server']['verbose'] : $GLOBALS['cfg']['Server']['host']); } echo '
' . "\n"; echo '
'; if ($server > 0 || count($cfg['Servers']) > 1 ) { echo '
'; echo ' [...]
Você poderia me ajudar? Aguardo resposta.




Teu arquivo parece estar ok.
Tenta desinstalar o phpmyadmin e ver se o apache volta a funcionar ai reinstala ele.
Antes é bom dar uma revisada se fez todos os passos da instalação, vi um erro semelhante relatado lá no forum do Mint em que o cara teve que desinstalar, purge e tal e depois reinstalar e ai foi tranquilo.

Abraço

[3] Comentário enviado por J0taLinux_981 em 06/08/2016 - 17:46h

Novamente Parabens pelo post Lisandro. Utilizei o --purge e começei de novo. Sem problemas. Obrigado pelo post e a ajuda.

[4] Comentário enviado por manck_ap em 29/08/2016 - 01:03h

parabéns pelo post, tudo funcionando perfeitamente. obrigado.

[5] Comentário enviado por jcandido55 em 15/09/2016 - 16:17h

Parabéns Lisandro pelo artigo. Aqui, no Linux Mint 18, tudo funcionou perfeitamente. Um grande abraço.

[6] Comentário enviado por lcsantos300 em 12/02/2017 - 16:55h

Excelente artigo, Lisandro. Sua didática foi ótima e o seu passo a passo fantástico. Uso o Linux Mint 18.1 e tudo correu perfeitamente. Abraços e obrigado!

[7] Comentário enviado por mbrainiac em 19/02/2017 - 16:50h

Lisandro poderia me dar uma ajuda?

Estou começando a ver PHP e me enrolei na instalação do apache

Vou sercondenado a usar o win7 e Xampp por não conseguir fazer isto no Ubuntu e cada tutorial na net mexo e nada;

quando digito http://http://localhost/info.php aparece
403 forbidden
Forbidden

You don't have permission to access /info.php on this server.
Apache/2.4.18 (Ubuntu) Server at localhost Port 80

Se puder me dar uma força até apago tudo e começo do zero, só me dizer como apago tudo

[8] Comentário enviado por Lisandro em 21/02/2017 - 13:43h


[7] Comentário enviado por mbrainiac em 19/02/2017 - 16:50h

Lisandro poderia me dar uma ajuda?

Estou começando a ver PHP e me enrolei na instalação do apache

Vou sercondenado a usar o win7 e Xampp por não conseguir fazer isto no Ubuntu e cada tutorial na net mexo e nada;

quando digito http://http://localhost/info.php aparece
403 forbidden
Forbidden

You don't have permission to access /info.php on this server.
Apache/2.4.18 (Ubuntu) Server at localhost Port 80

Se puder me dar uma força até apago tudo e começo do zero, só me dizer como apago tudo



403 quer dizer que o servidor entendeu a requisição mas não pode servir por falta de privilégios de acesso.
Verifique as permissões do arquivo pasta e do arquivo info.php
Se estiver na pasta www, você seguiu estes passos?
[code]
$ sudo chown -c -R seu_usuario /var/www/
$ sudo chmod -R 755 /var/www/
$ sudo systemctl restart apache2
[/code]

[9] Comentário enviado por Juvenil-Wille em 07/03/2017 - 02:25h

Tudo funciona perfeitamente até na hora de reiniciar o apache:

juvenil@Juvenil-PC ~ $ sudo chmod -R 755 /var/www/
juvenil@Juvenil-PC ~ $ sudo systemctl restart apache2
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
juvenil@Juvenil-PC ~ $

Não faço nem ideia do que fazer.

[10] Comentário enviado por Juvenil-Wille em 07/03/2017 - 13:51h

Acabei instalando o Nginx

[11] Comentário enviado por Lisandro em 07/03/2017 - 21:32h


[9] Comentário enviado por Juvenil-Wille em 07/03/2017 - 02:25h

Tudo funciona perfeitamente até na hora de reiniciar o apache:

juvenil@Juvenil-PC ~ $ sudo chmod -R 755 /var/www/
juvenil@Juvenil-PC ~ $ sudo systemctl restart apache2
Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.
juvenil@Juvenil-PC ~ $

Não faço nem ideia do que fazer.


Tente fazer:
[code]$ sudo systemctl stop apache2[/code]
Depois:
[code]$ sudo systemctl start apache2[/code]

O efeito é o mesmo e depois pode investigar o que pode estar acontecendo.

[12] Comentário enviado por edsonfrs em 24/06/2017 - 15:46h

Lisandro,

Muito obrigado. Tutorial perfeito. Configurei meu notebook sem nenhum problema. Novamente muito obrigado.

[13] Comentário enviado por VFKami em 19/07/2017 - 15:43h

Obrigado pelo post, me ajudou demais

[14] Comentário enviado por gabriel-ubuntu em 28/08/2017 - 09:37h

Tive problemas com a instalação do phpmyadmin no ubuntu 17.04, para que ele funcionasse segui o conselho que o amigo macquley passou em uma pergunta do fórum:

Uma segunda e melhor solução
fazer uma alias no arquivo /etc/apache2/apache2.conf basta adicionar as seguintes linhas no final do documento

Alias /phpmyadmin /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts