This is an old revision of the document!


Setting up a server to run php code

Download Docker

Follow instructions on this page Docker Installation

You also want to install the httpd package by running this command in a terminal

docker pull httpd

Set up Directory

Create the files and folders shown below

|-public-html/
| |-index.php
| |- ...
|-docker-compose.yml
|-DockerFile
|-php.ini

public-html/ is self explanatory. It's all the files the user will be able to access. That being .php files, .html files, stylesheets and javascript code, ect.

docker-compose.yml and DockerFile will hold the code to initialize the server. They're like a bash script.

php.ini is the config file for your php server. this let's you change parameters and enable extensions like sql.

Edit files

Edit the DockerFile and run this command:

FROM php:8.2-apache

# Enable mod_rewrite (needed for .htaccess)
RUN a2enmod rewrite

# Allow .htaccess files by updating Apache config
RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

# Copy your website files
COPY ./public-html/ /var/www/html/
# Copy custom php.ini
COPY php.ini /usr/local/etc/php/conf.d/custom.ini

# Optional: ensure permissions are correct
RUN chown -R www-data:www-data /var/www/html

Some of this code sets up the .htaccess file that is included in the public-html/ folder

You also want to edit the docker-compose.yml file and paste in this code:

version: "3.9"

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - ./public-html:/var/www/html
      - ./php.ini:/usr/local/etc/php/conf.d/custom.ini

You do not need to edit the php.ini. It is included for if and when you need to use it. You can also edit the 2 docker files to let you run a sql server alongside your web server.

Build and Activate Server

open up a terminal located in your directory and run these commands:

docker compose build
docker compose up -d

Save these commands for later. You'll need to run them everytime you edit the DockerFile, docker-compose.yml, or php.ini file. You can also use these commands to activate the server.



php_server.1761700414.txt.gz · Last modified: by MediocreMetastasis
CC Attribution-Share Alike 4.0 International Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
@000 MelonLand Zap! Want to Login or Join ? Forum Art Hub Chat Webring Editor Recent Edits Tenement Arcade Web Guides Graphics Catalogue Wiki Newsletters Image Stream
Melon's Sites TamaNotchi Textures PixelSea GifyPet MoMG Ozwomp Online Loom Videos Leaky Webring Melonking
Tools Melon Software ArtHub Embed Maker ML Passports
Outlinks Webrings Internet Phone Book HTML Energy Declarations Hackers & Designers Frutiger Aero Forum m15o's Web Services 32Bit Cafe iMood
Minecraft: Online
Join: craft.melonking.net