• macOS

    Konfigurasi Apache dan PHP pada macOS

    MacOS sangan pupuler dikalangan pengembang, baik itu untuk membuat program mobile phone (android, iOS), desktop, maupun program untuk server. Baik itu pemograman dengan bahasa C, C++, C#, java, Java Script, php, maupun bahasa pemrograman lainnya. Pada postingan kali ini, akan dibahas mengenai konfigurasi apache2 dengan beberapa versi php yang dapat konfigurabel pada operating sistem macOS. Versi macOS yang digunakan adalah versi Big Sur.

    XCode Command Line Tools

    Jika belum menginstall XCode, ada baiknya install terlebih dahulu command line tools yang nantinya diperlukan oleh homebrew.

    xcode-select --install

    Homebrew Installation

    Homebrew adalah sistem manajemen paket perangkat lunak sumber terbuka dan gratis yang menyederhanakan penginstalan perangkat lunak pada sistem operasi macOS Apple dan Linux. Untuk menginstall apache dan php dapat melalui homebrew.

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

    Jika sudah berhasil diinstal, untuk mengetahu versi homebrew dapat menggunakan command:

    brew --version

    Untuk memeriksa status aplikasi yang sudah diinstal, dapat menggunakan command:

    brew doctor
  • macOS

    Install Apache, MySQL, PHP on macOS Mojave 10.14

    Pada macOS Mojave, aplikasi apache sudah terinstall sebagai program bawaan. Yang perlu dilakukan hanya menjalankannya dengan command:

    sudo apachectl start 

    Command berikut untuk mematikan apache:

     sudo apachectl stop 

    Command berikut untuk me-restart apache:

     sudo apachectl restart 

    Jika ingin mengetahui versi apache yang terinstall dapat menggunakan command berikut:

     httpd -v 

    Secara default, system document root untuk web server dapat dilihat di:

     /Library/WebServer/Documents/ 

    Selain menggunakan lokasi yang ada pada sistem, dapat juga menggunakan lokasi yang ada pada user (User Level Root) yang ada pada folder Sites. Tambahkan username.conf pada directory:

     /etc/apache2/users/ 

    Buka terminal, kemudian ketikkan command berikut:

     cd /etc/apache2/users 
     sudo nano username.conf 

    nama file username.conf sesuaikan dengan nama username yang digunakan. Kemudian tambahkan kode berikut:

    <Directory "/Users/username/Sites/"> 
    AllowOverride All
    Options Indexes MultiViews FollowSymLinks
    Require all granted
    </Directory> 

    Dengan konfigurasi file permission:

     -rw-r--r--   1 root  wheel  298 Jun 28 16:47 username.conf 

    Jika belum seperti di atas, file permission dapat diganti dengan menggunakan perintah:

     sudo chmod 644 username.conf 

    Langkah selanjutnya, buka file httpd.conf, kemudian edit konfigurasi untuk beberapa module.

     sudo nano /etc/apache2/httpd.conf 

    Pastikan module berikut dalam kondisi uncomment.

    LoadModule authz_core_module libexec/apache2/mod_authz_core.so
    LoadModule authz_host_module libexec/apache2/mod_authz_host.so
    LoadModule userdir_module libexec/apache2/mod_userdir.so
    LoadModule include_module libexec/apache2/mod_include.so
    LoadModule rewrite_module libexec/apache2/mod_rewrite.so

    Jika menggunakan php, uncomment module berikut:

    LoadModule php7_module libexec/apache2/libphp7.so

    Jika ingin menggunakan user home directories, uncomment baris berikut:

    Include /private/etc/apache2/extra/httpd-userdir.conf 

    Langkah berikutnya, buka config lain untuk apache:

    sudo nano /etc/apache2/extra/httpd-userdir.conf 

    Uncomment baris berikut:

    Include /private/etc/apache2/users/*.conf 

    Kemudian restart apache server:

    sudo apachectl restart 

    Untuk level system document root, dapat dilihat di url:

    http://localhost/ 

    Untuk level user document root, dapat dilihat di url:

    http://localhost/~username/ 

    Jika ingin mengijinkan .htaccess untuk meng-override default setting, dapat menggunakan cara berikut:

    sudo nano /etc/apache2/httpd.conf 

    Dan jangan lupa, uncomment module mod_rewrite.

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so 

    Untuk melihat konfigurasi dari apache server, dapat membuat file phpinfo.php pada document root.

    <?php phpinfo(); ?> 

    Secara default, MySQL tidak ter-install sebagai aplikasi bawaan dari macOS Mojave, sehingga perlu di-install secara manual. Aplikasi MySQL dapat diunduh disini.

    Setelah berhasil diunduh, install MySQL dan ikuti langkah-langkahnya sampai instalasi selesai.

    Setelah instalasi MySQL selesai, langkah berikutnya mengganti password user root untuk MySQL.

    Stop MySQL

    sudo /usr/local/mysql/support-files/mysql.server stop 

    Start MySQL dalam safe mode:

    sudo mysqld_safe --skip-grant-tables 

    Buka tab terminal baru, kemudian login ke MySQL dengan user root, kemudian ganti password untuk root.

    mysql -u root 
    FLUSH PRIVILEGES; 
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; 
    \q 

    Start MySQL

    sudo /usr/local/mysql/support-files/mysql.server start 

    Connect PHP and MySQL

    mkdir /var/mysql 
    ln -s /tmp/mysql.sock /var/mysql/mysql.sock
    sudo apachectl restart 
  • Linux

    Install Apache, MySQL dan PHP pada Ubuntu 16.04

    1. Update package manager.
      sudo apt-get update
    2. Install dan jalankan apache.
      sudo apt-get install apache2
      sudo systemctl start apache2.service
    3. Install MySQL.
      sudo apt-get install mysql-server
      sudo /usr/bin/mysql_secure_installation
    4. Install php.
      sudo apt-get install php

      Install PHP extensions GD, MySQL.

      sudo apt-get install -y php-{bcmath,bz2,intl,gd,mbstring,mcrypt,mysql,zip} && sudo apt-get install libapache2-mod-php -y
    5. Setting auto start untuk Apache dan MySQL.
      sudo systemctl enable apache2.service
      sudo systemctl enable mysql.service

      Restart Apache untuk menjalankan PHP.

      systemctl restart apache2.service