Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
php_server [2025/10/28 16:56] MediocreMetastasisphp_server [2025/10/29 02:17] (current) MediocreMetastasis
Line 1: Line 1:
 ====== Setting up a server to run php code ====== ====== Setting up a server to run php code ======
  
-==== Download Docker ==== +===== Download Docker ====
-the wiki didn't save what I wrote I'll re-write it later +Follow instructions on this page 
-==== Set up Directory ====+[[https://docs.docker.com/get-started/get-docker/|Docker Installation]] 
 + 
 +You also want to install the httpd package by running this command in a terminal 
 + 
 +<code -
 +docker pull httpd 
 +</code> 
 + 
 +===== Set up Directory ====
 +Create the files and folders shown below 
 +<code ->
 |-public-html/ |-public-html/
-| |-+| |-index.php 
 +| |- ...
 |-docker-compose.yml |-docker-compose.yml
 |-DockerFile |-DockerFile
 |-php.ini |-php.ini
-==== Edit files ==== +</code> 
-edit DockerFile and docker-compose.yml + 
-==== Build and Activate Server ====+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: 
 +<code -> 
 +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 
 +</code> 
 +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: 
 +<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 
 +</code> 
 +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: 
 +<code -> 
 +docker compose build 
 +docker compose up -d 
 +</code> 
 +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.1761667017.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