Install Apache, PHP, and MariaDB in Windows with Chocolatey
Tags: apache, php, mariadb, chocolatey
Published: 2021-07-25 06:09:39

Hai, artikel hari ini adalah bagaimana cara kita install Apache, PHP dan MariaDB di Windows 11 dengan bantuan [Chocolatey](https://chocolatey.org/install).

### Installasi [Chocolatey](https://chocolatey.org/install)
Pertama pastikan kita install [Chocolatey](https://chocolatey.org/install) terlebih dahulu, dengan cara: buka _powershell_ dengan _Run as Administrator_ lalu ketkan perintak berikut

```sh
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
```

Kemudian tunggu sampai proses selesai. Setelah sudah selesai kita bisa melanjutkan langkah berikutnya, yaitu install PHP dengan cara berikut. tapi sebelumya masukan perintah di bawah terlebih dahulu

```sh
choco feature enable -n useRememberedArgumentsForUpgrades
```

Perintah tersebut diperlukan untuk mempermudah kalian ketika upgrade ke php versi yang lebih tinggi.

### Installasi [PHP](https://www.php.net/)

```sh
choco install php --params "/ThreadSafe /InstallDir:C:\Dev\PHP"
```

** Perlu diperhatikan pada bagian --params bertujuan untuk memberikan parameter pada coco ketika install paket 

- [/ThreadSafe] - Agar _PHP_ kalian bisa _compatible_ dengan _Apache_ yang akan di pasang.
- [/InstallDir] - Agar ini bertujuan untuk membuat _custom path_ pada _installasi_.

Jika anda membutuhkan versi _PHP_ yang lebih lawas anda bisa memasukan --version=7.4.13

Oke, anda bisa cek php anda dengan membuka _CMD_ lalu ketikan perintah berikut:

```sh
php -v
```

lalu akan muncul seperti ini 
> PHP 8.0.8 (cli) (built: Jun 29 2021 16:02:52) ( ZTS Visual C++ 2019 x64 )
> Copyright (c) The PHP Group
> Zend Engine v4.0.8, Copyright (c) Zend Technologies

### Installasi [Apache](https://httpd.apache.org/)
Selanjutnya install apache, caranya paste kode berikut di _powershell_ yang tadi

```sh
choco install apache-httpd -y --params '"/installLocation:C:\Dev" "/port:80"'
```

** Perlu diperhatikan pada bagian --params 

- [/installLocation] - Agar ini bertujuan untuk membuat _custom path_ pada _installasi_.
- [/port] - memberikan _custom port_ pada aplikasi.
- [/serviceName ] - memberikan _custom nama service_ pada _Servicess App_.

Test apakah apache sudah terpasang dengan baik dengan cara buka browser lalu ketikan perintah berikut [http://localhost](http://localhost), jika gambar seperti dibawah, anda terlah berhasil memasang _Apache_

![Apache Success](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ffdd7d6hi8mqeirjigc2.PNG)

Oke, Jika sudah kita harus konfigurasi kembali Apache yang telah di install masuk ke _folder_ *C:\Dev\Apache24\conf* buka kemudian edit file yang bernama *httpd.conf*

- Pada bagian baris *_Listen_* pastikan dia _port_ yang anda _set_ disini saya membuat 80, sehingga menjadi

```conf
Listen 80
```

- Lalu pada akhir baris *_LoadModule_* tambahkan _script_ berikut

```conf
LoadModule php_module "C:/Dev/PHP/php8apache2_4.dll"
```

silakan cek terlebih dahulu apakah lokasi dari _php8apache2_4.dll_ sudah tepat.
- Lalu cari kata-kata *_<Directory "${SRVROOT}/htdocs">_* dibawahnya ada kata *_AllowOverride None_* buat menjadi

```conf
AllowOverride All
```

- Lalu cari teks berikut :

```conf
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
```
- Ubah menjadi 

```conf
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

PHPIniDir "C:/Dev/PHP"
```

Kemudian kita harus _restart apache service_ pada aplikasi _services.msc_ dengan cara ketik (Win) + R 
![Run Windows](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3yno7lppbreupahmz9fs.PNG)
lalu ketik services.msc
cari "Apache24" kemudian klik _Restart_
![services.msc](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ufdjh0lqvs4e1e2x0bx3.PNG)

### Testing Apache + PHP
Untuk testing kembali ke _Folder Apache24_ di *C:\Dev\Apache24\htdocs* di dalam _folder_ tersebut silakan buat _script php_ dengan _Visual Studio Code_.

> Silakan download Visual Studio Code di Link berikut
> https://code.visualstudio.com/

Oke setelah install visual studio code kemudian pada _CMD_ ketikan perintah berikut

```sh
code C:\Dev\Apache24\htdocs
```

Perintah tersebut akan memunculkan Window Visual Studio Code, lalu buat file baru dengan cra klik Ctrl + N, lalu ketik perintah berikut :

```php
<?php
phpinfo();
?>
```

Setelah itu klik save dengan nama *_index.php_* kemudian buka browser dan masuk ke halaman [http://localhost](http://localhost) jika halaman _localhost_ anda berubah menjadi sepertidibawah, selamat. anda berhasil install Apache dan PHP dengan baik.

![PHP Sucess](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ox0z2vxsi3u07vvh742k.PNG)

### Install [MariaDB](https://mariadb.org/)

Okeh, untuk MariaDB cukup _copy + paste script_ di bawah ke _powershell_ yang sebelumnya

```sh
choco install mariadb
```

Setelah proses selesai anda bisa tes MariaDB dengan cara ketik perintah berikut pada _CMD_

```sh
mysql -u root
```

lalu akan muncul perintah deskripsi sebagai berikut

```sh
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 270374
Server version: 10.6.3-MariaDB-1:10.6.3+maria~focal mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>
```

Selamat anda berhasil memasang _MariaDB_ selanjutnya pasang _PHP + MariaDB_ dengan cara buka _folder_ *C:\Dev\PHP* cari _file_ bernama *php.ini*

- Cari line berikut

```ini
;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd
;extension=gmp
;extension=mbstring
;extension=mysqli
;extension=odbc
;extension=openssl
;extension=pdo_mysql
;extension=pdo_sqlite
```

Lalu hapus tanda titik koma ";" lalu kemudian simpan _file_. Setelah itu restart Apache seperti yang telah di jelaskan di atas. setelah semua sudah di persiapkan. di halaman [http://localhost](http://localhost) anda akan melihat `mysqli` seperti berikut:

![MySQLi Sucess](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4f4g5audl4asfwiyaw9y.PNG)

Itu berarti anda telah mengaktifkan ekstensi mysqli sehingga kedepannya ada bisa menghubungan MariaDB dan PHP dengan lebih mudah. Jika anda masih belum memahami artikel berikut silakan tinggalkan komentar, Terimakasih.