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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more