DEV Community

Hisyam Johan
Hisyam Johan

Posted on

Installing Apache, PHP, and MySQL on Oracle Linux 8

Bismillah...

Instructions to Install Apache, PHP, and MySQL on Oracle Linux 8

  1. Install Apache Web Server
   sudo yum install -y httpd
Enter fullscreen mode Exit fullscreen mode
  • Installs the Apache HTTP server.
  1. Enable and Start Apache
   sudo systemctl enable httpd
   sudo systemctl restart httpd
Enter fullscreen mode Exit fullscreen mode
  • Enables Apache to start on boot and restarts it to apply changes.
  1. Configure Firewall
   sudo firewall-cmd --add-service=http --permanent
   sudo firewall-cmd --reload
Enter fullscreen mode Exit fullscreen mode
  • Opens HTTP (port 80) on the firewall and reloads the firewall to apply the rule.
  1. Install PHP
   dnf module list php
   sudo dnf module reset php
   sudo dnf install @php:7.4
   sudo dnf install php-mysqli
Enter fullscreen mode Exit fullscreen mode
  • Lists available PHP modules, resets the PHP module, and installs PHP 7.4 with MySQL support.
  1. Allow Apache to Connect to External Databases (optional)
   setsebool -P httpd_can_network_connect_db 1
Enter fullscreen mode Exit fullscreen mode
  • Configures SELinux to allow Apache to connect to databases over the network.
  1. Set Permissions for Apache
   chown -R apache:apache *
   # if you have folder to store uploaded file (optional)
   sudo chcon -R -t httpd_sys_rw_content_t docsuploaded
   find /var/www/html -type d -exec chmod 755 {} \;
   find /var/www/html -type f -exec chmod 644 {} \;
   systemctl restart httpd
Enter fullscreen mode Exit fullscreen mode
  • Changes ownership of files to Apache, sets security context for directories, adjusts file permissions, and restarts Apache.
  1. Install MySQL Server
   yum install https://dev.mysql.com/get/mysql84-community-release-el8-1.noarch.rpm
   yum-config-manager --disable mysql-8.4-lts-community
   yum-config-manager --disable mysql-tools-8.4-lts-community
   yum-config-manager --enable mysql80-community
   yum-config-manager --enable mysql-tools-community
   yum repolist enabled | grep mysql
   sudo yum module disable mysql
   yum install mysql-community-server
Enter fullscreen mode Exit fullscreen mode
  • Installs MySQL Community Edition, disables unnecessary repositories, and installs the MySQL server.
  1. Start MySQL and Check Status
   systemctl start mysqld
   systemctl status mysqld
Enter fullscreen mode Exit fullscreen mode
  • Starts the MySQL server and checks its status.
  1. Retrieve MySQL Temporary Root Password
   sudo grep 'temporary password' /var/log/mysqld.log
Enter fullscreen mode Exit fullscreen mode
  • Fetches the temporary root password for MySQL from the log file.

Buy Me A Coffee

Top comments (0)

👋 Kindness is contagious

Engage with a wealth of insights in this thoughtful article, cherished by the supportive DEV Community. Coders of every background are encouraged to bring their perspectives and bolster our collective wisdom.

A sincere “thank you” often brightens someone’s day—share yours in the comments below!

On DEV, the act of sharing knowledge eases our journey and forges stronger community ties. Found value in this? A quick thank-you to the author can make a world of difference.

Okay