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

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay