Uma stack LAMP (Linux, Apache, MariaDB, PHP) flexível e robusta, baseada em Ubuntu 24.04, gerenciada por Supervisor e pronta para desenvolvimento local.
- Base: Ubuntu 24.04 (LTS)
- Servidor Web: Apache 2 com
mod_rewritehabilitado. - Banco de Dados: MariaDB (compatível com MySQL).
- PHP: Versão configurável (7.4, 8.0, 8.1, 8.2, 8.3) com extensões essenciais.
- Extras: Redis, Python 3, Node.js 18.x e Composer integrados.
- phpMyAdmin: Instalado automaticamente para gerenciar o banco via web.
- Resiliência: Processos gerenciados pelo Supervisor para garantir alta disponibilidade.
- Segurança: Configurações otimizadas e ocultação de assinaturas do servidor.
- Docker instalado no seu sistema.
Você pode construir a imagem definindo a versão do PHP desejada:
# Versão padrão (PHP 7.4)
docker build -t docker-lamp-stack .
# Versão específica (Ex: PHP 8.2)
docker build -t docker-lamp-stack-82 --build-arg PHP_VERSION=8.2 .Escolha o comando de acordo com seu sistema operacional para garantir o mapeamento correto de volumes:
docker run -d --name "lamp-server" \
-p "8080:80" -p "8082:3306" -p "8083:6379" \
-v ${PWD}/html:/var/www/html \
-v ${PWD}/mysql:/var/lib/mysql \
-v ${PWD}/logs:/var/log \
-e MYSQL_ROOT_PASSWORD=root \
docker-lamp-stackdocker run -d --name "lamp-server" `
-p "8080:80" -p "8082:3306" -p "8083:6379" `
-v ${PWD}/html:/var/www/html `
-v ${PWD}/mysql:/var/lib/mysql `
-v ${PWD}/logs:/var/log `
-e MYSQL_ROOT_PASSWORD=root `
docker-lamp-stackdocker run -d --name "lamp-server" ^
-p "8080:80" -p "8082:3306" -p "8083:6379" ^
-v %CD%/html:/var/www/html ^
-v %CD%/mysql:/var/lib/mysql ^
-v %CD%/logs:/var/log ^
-e MYSQL_ROOT_PASSWORD=root ^
docker-lamp-stack- Página Inicial: http://localhost:8080 (Exibe o dashboard de status do sistema).
- phpMyAdmin: http://localhost:8080/phpmyadmin (Usuário:
root, Senha: definida emMYSQL_ROOT_PASSWORD). - MariaDB: Porta
8082(Externamente). - Redis: Porta
8083(Externamente).
O sistema utiliza a pasta html/ na raiz do seu projeto como o diretório público do servidor:
- Coloque seus arquivos PHP/HTML em:
./html/ - O arquivo
index.phpde status será restaurado automaticamente se a pasta estiver vazia, mas não substituirá seus arquivos se você criar umindex.phpouindex.htmlpróprio.
Os arquivos de configuração estão localizados na pasta config/:
- Apache:
config/apache/000-default.conf - PHP:
config/php/apache2-php.ini(Web) ecli-php.ini(Terminal). - MariaDB:
config/mariadb/my.cnf - Supervisor:
config/supervisor/
Este projeto está licenciado sob a licença MIT.
Autor: Marco Costa (marcocosta@gmx.com)
Projeto: syspanel/docker-lampp-stack