a super secure, up-to-date and lightweight LAMP stack
defines a docker container running Arch Linux with the LAMP stack installed
This thing is re-built in the cloud every time a change is made here: https://hub.docker.com/r/greyltc/lamp
- Install docker
- Download and start the LAMP server instance
docker run --name lamp -p 443:443 -d greyltc/lamp
- Test the LAMP server
Point your browser to:
if you've not used your own ssl certificate, as described below, you'll likely see browser warnings here about NET::ERR_CERT_AUTHORITY_INVALID click though those and
you should see the default apache index. Follow the info.php link there and you should see detials of the php installation.
- [Optional] Change your webserver root data storage location
It's likely desirable for your www root dir to be placed in a persistant storage location outside the docker container, on the host's file system for example. Let's imagine you wish to store your www files in a folder
~/wwwon the host's file system. Then insert the following into the docker startup command (from step 2. above) between
UID 33 or GID 33 (http in the container image) must have at least read permissions for
~/wwwon the host system. Generally, it's enough to do:
chmod -R 770 ~/www; sudo chgrp -R 33 ~/www
Read this if you run into permissions issues in the container.
- [Optional] Use your own ssl certificate
This image comes with a self-generated ssl certificate and so you'll get browser warnings when you access your server via https (but the connection will be encrypted with a private key that anyone can view by snooping around in the docker image). You can (& should) replace these self signed certificates with your own, properly generated cert files.
Assuming you have
server.keyfiles in a directory
~/sslCerton the host machine:
sudo chown -R root ~/sslCert; sudo chgrp -R root ~/sslCert
sudo chmod 400 ~/sslCert/server.key
You can then add
-v ~/sslCert:/root/sslKeysto the docker run command line to use your ssl certificate files.
- [Optional] Use the built in certbot client to fetch proper ssl certificate files from Let's Encrypt
Follow the instructions here: https://github.com/greyltc/docker-LAMP/wiki/Using-the-built-in-certbot-client-to-fetch-proper-ssl-certificate-files-from-Let's-Encrypt
- [Optional] Stop the lamp docker server instance
docker stop lamp
- [Optional] Delete the lamp docker server instance (after stopping it)
docker rm lamp
Docker Pull Command