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)