Cara Hosting CodeIgniter 3 di Subfolder WordPress

Cara Hosting CodeIgniter 3 di Subfolder WordPress
Cara Hosting CodeIgniter 3 di Subfolder WordPress

Menggabungkan dua sistem berbeda seperti WordPress dan CodeIgniter 3 dalam satu hosting bisa menjadi tantangan tersendiri, terutama ketika Anda ingin meletakkan CodeIgniter di dalam subfolder WordPress, misalnya:
https://domainanda.com/ciapp.

WordPress adalah sebuah sistem manajemen konten (CMS – Content Management System) berbasis open-source yang digunakan untuk membuat dan mengelola website secara mudah tanpa perlu kemampuan pemrograman yang mendalam.

CodeIgniter adalah sebuah framework PHP ringan dan cepat yang dirancang untuk membantu pengembang membangun aplikasi web dengan cara yang lebih efisien, terstruktur, dan aman. Versi 3 ini merupakan versi stabil dan populer dari CodeIgniter sebelum diluncurkannya CodeIgniter 4 yang lebih modern.

Artikel ini akan membahas langkah demi langkah cara meng-hosting CodeIgniter 3 di dalam subfolder WordPress, termasuk pengaturan .htaccess, config.php, dan index.php agar keduanya dapat berjalan berdampingan tanpa konflik.

1. Struktur Folder yang Diperlukan Codeigniter 3

Pertama-tama, pastikan Anda memiliki struktur direktori seperti berikut:

/var/www/html/wordpress/
├── index.php          ← WordPress
├── wp-content/
├── wp-includes/
├── ciapp/             ← Aplikasi CodeIgniter 3
│   ├── application/
│   ├── system/
│   ├── index.php
│   └── ...

Dengan demikian, WordPress akan tetap menjadi aplikasi utama, sementara CodeIgniter ditempatkan dalam subfolder bernama ciapp.

2. Konfigurasi config.php CodeIgniter

Edit file berikut:

$config['base_url'] = 'http://domainanda.com/ciapp/';

3. Edit index.php CodeIgniter (jika perlu)

Pastikan jalur system dan application sesuai:

$system_path = 'system';
$application_folder = 'application';

Jika index.php berada di dalam folder ciapp, dan struktur tidak diubah, tidak perlu diubah apa pun di sini.

4. Konfigurasi Nginx

Edit file konfigurasi server Anda di /etc/nginx/sites-available/domainkamu.conf atau lokasi virtual host Anda. Contoh konfigurasi:

server {
    server_name domainkamu;
    root /var/www/domainkamu;
    index index.php index.html;

    access_log /var/log/domainkamu-access.log;
    error_log  /var/log/domainkamu-error.log error;

	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}

    //ciapp adalah codeigniter
    location /ciapp/ {
        alias /var/www/prolov.co.id/ciapp/;
        try_files $uri $uri/ /ciapp/index.php;

        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_index index.php;
            fastcgi_pass unix:/run/php/php7.4-fpm.sock;
            include /etc/nginx/fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $request_filename;
        }
    }

	location ~ \.php {
		fastcgi_index index.php;
		fastcgi_pass unix:/run/php/php7.4-fpm.sock;
		include fastcgi_params;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
	}

}

Catatan penting:

  • Pastikan blok /ciapp tidak mengganggu WordPress.
  • Anda harus menggunakan $document_root dan SCRIPT_FILENAME dengan benar agar PHP bisa dieksekusi dengan benar.

5. Restart Nginx

Setelah konfigurasi selesai, restart Nginx agar perubahan diterapkan:

sudo systemctl restart nginx

6. Cek Akses Codeigniter 3

Akses WordPress: http://domainanda.com/

Akses CodeIgniter: http://domainanda.com/ciapp

Tips Tambahan

  • Pastikan index.php di CodeIgniter bisa menangani PATH_INFO — ini penting untuk routing.
  • Jika URL pada CodeIgniter masih menunjukkan error, aktifkan debug logging dan cek log Nginx di /var/log/nginx/error.log.
  • Tidak perlu .htaccess, karena Nginx tidak menggunakannya.

Kesimpulan

Menjalankan CodeIgniter 3 di subfolder dalam instalasi WordPress dengan Nginx memungkinkan pengembangan sistem terpisah tanpa memengaruhi WordPress. Kunci utamanya adalah konfigurasi nginx.conf dan config.php CodeIgniter yang tepat. Dengan pendekatan ini, Anda bisa menggunakan CodeIgniter sebagai sistem API atau aplikasi admin di dalam instalasi WordPress.

Comments

No comments yet. Why don’t you start the discussion?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *