mirror of
https://github.com/ditatompel/insights.git
synced 2025-01-08 03:12:06 +07:00
85 lines
2.5 KiB
Markdown
85 lines
2.5 KiB
Markdown
|
---
|
||
|
title: "Installing PHP, Apache, MySQL, and phpMyAdmin on Arch Linux"
|
||
|
description: "A step-by-step guide to installing PHP, Apache, MySQL, and phpMyAdmin on Arch Linux."
|
||
|
summary: "A step-by-step guide to installing PHP, Apache, MySQL, and phpMyAdmin on Arch Linux."
|
||
|
date: 2012-02-18T05:01:30+07:00
|
||
|
lastmod:
|
||
|
draft: false
|
||
|
noindex: false
|
||
|
# comments: false
|
||
|
nav_weight: 1000
|
||
|
series:
|
||
|
# - Tutorial
|
||
|
categories:
|
||
|
- SysAdmin
|
||
|
tags:
|
||
|
- Linux
|
||
|
- MySQL
|
||
|
- Apache
|
||
|
- PHP
|
||
|
images:
|
||
|
authors:
|
||
|
- ditatompel
|
||
|
---
|
||
|
|
||
|
Why Arch Linux? Because I'm comfortable using Arch, and with its package manager, we can easily install the latest and most up-to-date kernel and software.
|
||
|
|
||
|
**Video (in Indonesian):**
|
||
|
|
||
|
{{< youtube zr7TVU7SZUs >}}
|
||
|
|
||
|
1. First, we ensure that our system is up to date by running:
|
||
|
|
||
|
```bash
|
||
|
pacman -Syu
|
||
|
```
|
||
|
|
||
|
2. Next, we install the necessary packages using:
|
||
|
|
||
|
```bash
|
||
|
pacman -S php apache php-mcrypt phpmyadmin mysql
|
||
|
```
|
||
|
|
||
|
3. We then navigate to the `/etc/webapps/phpmyadmin` directory and copy the `phpmyadmin` configuration file to `/etc/httpd/conf/extra`:
|
||
|
|
||
|
```bash
|
||
|
cp /etc/webapps/phpmyadmin/apache.example.conf /etc/httpd/conf/extra/httpd-phpmyadmin.conf
|
||
|
```
|
||
|
|
||
|
4. We include the configuration in the main `httpd.conf` file located in the `/etc/httpd/conf` directory by adding:
|
||
|
|
||
|
```apache
|
||
|
# phpmyadmin configuration
|
||
|
Include conf/extra/httpd-phpmyadmin.conf
|
||
|
```
|
||
|
|
||
|
![Apache Config PHPMyAdmin](phpmyadmin-include.png#center)
|
||
|
|
||
|
Then, we can access `localhost` and `phpmyadmin` in the browser.
|
||
|
|
||
|
6. If there is a forbidden message in **phpmyadmin**, we need to add the `DirectoryIndex index.html index.php` configuration to `/etc/httpd/conf/extra/httpd-phpmyadmin.conf`, then restart the http server.
|
||
|
|
||
|
![DirectoryIndex Apache](directoryIndex.png#center)
|
||
|
|
||
|
7. If **PhpMyAdmin** can be accessed, but there is still an error message "The mysqli extension is missing." or "The mcrypt extension is missing"; We need to enable the extension in `php.ini` by removing the semicolon (`;`) from the required extension.
|
||
|
|
||
|
![PHP Extension](extension.png#center)
|
||
|
|
||
|
```ini
|
||
|
extension=mcrypt.so
|
||
|
extension=mysqli.so
|
||
|
extension=mysql.so
|
||
|
```
|
||
|
|
||
|
Then, we can restart the http server again.
|
||
|
|
||
|
FYI: On Arch Linux, by default `httpd` runs as user `http` and group `http`. To make it more comfortable and avoid error messages on certain CMS installations, we need to change the permissions and owner of the `/srv/http` folder (where the `public_html` folder is located) using:
|
||
|
|
||
|
```bash
|
||
|
chown -R http:http /srv/http
|
||
|
```
|
||
|
|
||
|
The installation process for Apache, PHP, MySQL, and PhpMyAdmin is now complete.
|
||
|
|
||
|
For now, this concludes the basics.
|