Dari server Ubuntu Keluarga Hardy, saya perlu memindahkan aplikasi server TCP dengan kondisi sbb.:
- Aplikasi ditulis di atas Lazarus, melanjutkan tradisi pengembangan aplikasi di atas bahasa Pascal.
- Basisdata yang digunakan PostgreSQL.
- Modul GIS untuk basisdata digunakan PostGIS.
- Tambahan: aplikasi semula dikembangkan di Ubuntu 32-bit.
Di server baru digunakan Ubuntu 64-bit. Dengan batasan waktu yang sempit dan kepraktisan memanfaatkan perangkat lunak yang sudah ada, diputuskan kondisi di atas dipertahankan, kecuali perbedaan platform 32 ke 64-bit.
Catatan selama pemasangan aplikasi di server baru:
PostgreSQL yang digunakan sudah tertinggal zaman, oleh Ubuntu sendiri sudah dimasukkan di Old Releases. Jika masih dimungkinkan penambahan entri di senarai sumber modul paket, di /etc/apt/sources.list, Old Releases masih dapat diikutkan. Namun jika sudah tidak mungkin lagi, paket .deb perlu diambil sendiri dan ditambahkan ke sistem lewat dpkg.
Old Releases tidak didukung di repositori Ubuntu dalam negeri (lewat jalur IIX), sehingga jika server yang akan dipasangi hanya punya jalur IIX, harus diakali. Pernah saya manfaatkan “lorong” SSH (SSH tunnel) ke salah satu komputer di kantor (Bandung) guna mendapatkan akses ke Old Releases di mancanegara. Tidak terlalu sulit, hanya mengalihkan akses ke proxy lewat lorong.
Aplikasi yang ditulis untuk Ubuntu 32-bit berjalan baik di 64-bit, kecuali modul akses ke PostgreSQL, libpq.so yang bermasalah. Ketidakcocokan antarmuka ke modul tsb. akhirnya diatasi dengan cara menyalin libpq.so dari mesin 32-bit ke salah satu subdirektori pustaka (lib dir) di mesin 64-bit. Saya tempatkan di /usr/lib32 agar tertib.
PostGIS memerlukan modul-modul eksternal sesuai versi, jadi harus diikuti dengan instalasi modul kaitan PostGIS ke PostgreSQL yang sesuai. Ubuntu memberi sejumlah peringatan akan perbedaan versi, yakinkan terlebih dulu, dan lakukan pilihan Yes jika sudah mantap di hati.
Pemutakhiran versi aplikasi di tempat kami dirasa perlu, apalagi PostgreSQL sudah melompat ke versi 9, namun untuk ini perlu persiapan lebih matang dalam hal pengembangan aplikasi dan sejumlah skrip SQL terutama untuk Trigger dan Stored Procedure. Hal yang juga signifikan di aplikasi server TCP, karena pustaka PostgreSQL untuk Lazarus tidak berkembang lagi setelah PostgreSQL 8.1.