├── .docker └── php │ ├── Dockerfile │ ├── php.ini │ ├── timezone.ini │ ├── vhost.conf │ └── xdebug.ini ├── .dockerignore ├── .gitignore ├── README.md ├── docker-compose.yml └── php └── index.php /.docker/php/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.2-apache 2 | RUN apt-get update -y 3 | 4 | RUN docker-php-ext-install pdo pdo_mysql mysqli 5 | RUN a2enmod rewrite 6 | 7 | # Add correct rights for www folder. 8 | RUN chown -R www-data:www-data /var/www/ 9 | 10 | # Install and enable xdebug. 11 | RUN pecl install xdebug && docker-php-ext-enable xdebug 12 | 13 | WORKDIR /var/www/html 14 | 15 | EXPOSE 80 443 16 | -------------------------------------------------------------------------------- /.docker/php/php.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gquittet/php-mariadb-apache/8a62f54647625c5653bdf708c4bffaeb92806df9/.docker/php/php.ini -------------------------------------------------------------------------------- /.docker/php/timezone.ini: -------------------------------------------------------------------------------- 1 | date.timezone=Europe/Brussels -------------------------------------------------------------------------------- /.docker/php/vhost.conf: -------------------------------------------------------------------------------- 1 | 2 | DocumentRoot /var/www/html 3 | 4 | 5 | AllowOverride all 6 | Require all granted 7 | 8 | 9 | -------------------------------------------------------------------------------- /.docker/php/xdebug.ini: -------------------------------------------------------------------------------- 1 | zend_extension=xdebug 2 | xdebug.remote_enable=on 3 | xdebug.remote_host=127.0.0.1 4 | xdebug.remote_port=9000 5 | xdebug.remote_handler=dbgp -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .idea 3 | 4 | \#*\# 5 | \#* 6 | 7 | Thumbs.db 8 | .DS_Store 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # PHP - MariaDB - Apache SEED 2 | 3 | This seed is for creating a lightweight web server with Apache, PHP and MySQL. 4 | 5 | ## Informations 6 | 7 | | Name | URL | Port | 8 | | ---------- | --------- | ---- | 9 | | Database | localhost | 7001 | 10 | | PHP | localhost | 7000 | 11 | | PHPMyAdmin | localhost | 7002 | 12 | 13 | 14 | ## Commands 15 | 16 | ### Start 17 | 18 | 19 | Just run this command 20 | 21 | ``` 22 | docker-compose up 23 | ``` 24 | 25 | ### Stop 26 | 27 | Just press on *Ctrl+C* 28 | 29 | ### Clean (only to delete project) 30 | 31 | ``` 32 | docker-compose rm 33 | docker rmi tdi_php_apache 34 | ``` 35 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: "3" 2 | services: 3 | db: 4 | hostname: ma0-tdi-mariadb 5 | image: mariadb 6 | container_name: ma0-tdi-mariadb 7 | networks: 8 | - backend 9 | command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_520_ci 10 | environment: 11 | MYSQL_ROOT_PASSWORD: toor 12 | MYSQL_DATABASE: tdi 13 | MYSQL_USER: tdi 14 | MYSQL_PASSWORD: tdi 15 | ports: 16 | - 7001:3306 17 | 18 | web: 19 | hostname: ma0-tdi-php-apache 20 | build: 21 | context: . 22 | dockerfile: .docker/php/Dockerfile 23 | image: ma0-tdi-php-apache:1.0 24 | container_name: ma0-tdi-php-apache 25 | networks: 26 | - backend 27 | - frontend 28 | depends_on: 29 | - db 30 | volumes: 31 | - ./.docker/php/vhost.conf:/etc/apache2/sites-available/000-default.conf 32 | - ./.docker/php/timezone.ini:/usr/local/etc/php/conf.d/timezone.ini 33 | - ./.docker/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini 34 | - ./php/:/var/www/html 35 | ports: 36 | - 7000:80 37 | 38 | phpmyadmin: 39 | hostname: ma0-tdi-phpmyadmin 40 | container_name: ma0-tdi-phpmyadmin 41 | image: phpmyadmin/phpmyadmin 42 | environment: 43 | MYSQL_ROOT_PASSWORD: toor 44 | MYSQL_USER: tdi 45 | MYSQL_PASSWORD: tdi 46 | networks: 47 | - backend 48 | - frontend 49 | links: 50 | - db:db 51 | depends_on: 52 | - db 53 | ports: 54 | - 7002:80 55 | 56 | networks: 57 | backend: 58 | frontend: 59 | -------------------------------------------------------------------------------- /php/index.php: -------------------------------------------------------------------------------- 1 | setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 5 | $conn = null; 6 | 7 | phpinfo(); 8 | 9 | ?> --------------------------------------------------------------------------------