Pengembangan profesional selalu berfokus pada alatnya sendiri - ini adalah jaminan pemenuhan kewajiban yang andal dan efisien. Hosting dan server sendiri untuk berbagai tujuan dalam berbagai konfigurasi populer memperluas cakupan tugas yang harus diselesaikan, meningkatkan keamanan dan kerahasiaan pengembangan.
Native HTTP: Apache, PHP, MySQL
Server web Apache telah menjadi pemimpin yang solid sejak abad terakhir karena memberikan pengalaman yang cepat, andal, dan aman. Mesin fisik dan server yang menjalankan Linux atau Windows adalah fondasinya, HTTP adalah add-on, meskipun pada dasarnya adalah protokol komunikasi. Mesin Windows dapat digunakan sebagai server, tetapi keluarga Linux lebih disukai.
Apache di Windows adalah varian lokal yang digunakan pada satu mesin untuk menduplikasi pengembangan sumber daya yang dihosting di server eksternal. Menginstal di Windows Server dapat diterima, tetapi tidak terlalu populer. Menyiapkan Apache di CentOs memberikan lebih banyak opsi dan digunakan untuk mengatur server di lokal danjaringan global.
Dipercaya bahwa server Apache melayani lebih dari 50% dari semua sumber daya web aktif, sisanya jatuh pada produk serupa dari Microsoft, Sun, dan lainnya. Sebenarnya, server fisik dan sistem operasinya dapat berupa apa saja. Server HTTP ditempatkan pada platform yang sudah jadi dan bekerja secara paralel dengan aplikasi lain di dalamnya. Apache dianggap asli untuk seluruh keluarga Linux, tetapi dalam setiap kasus memiliki kekhasan tersendiri.
Sistem Linux gratis, sederhana, andal dan aplikasinya. Tidak masalah apa yang Anda gunakan: Instalasi dan konfigurasi Apache di Ubuntu tidak jauh berbeda dengan CentOs, Debian atau FreeBSD. Seringkali kejenuhan sistem operasi tertentu dengan perangkat lunak tambahan berperan.
Keluarga Linux kecil dalam hal jumlah "kerabat" pada baris satu atau lain inti sistem. Perbedaannya lebih bersifat sosial - dalam arti keterikatan pengembang pada perumusan dan implementasi kemampuan sistem operasi.
Pada kenyataannya, untuk menyelesaikan tugas tertentu untuk meningkatkan hosting, Anda perlu memutuskan fungsionalitas yang diperlukan, kinerja yang diperlukan, prioritas konseptual, dan pilihan spesifik perwakilan Linux, atau berhenti di Windows Server.
Pergeseran prioritas pembangunan lokal
Sulit untuk menilai peran jaringan global dalam pengembangan pemrograman, tetapi mudah untuk melihat perubahan nyata di pusat gravitasi: sudah menjadi kebiasaan untuk menjalankan aplikasi lokal sebagai sumber daya web. Cukup tulis program untukkomputer lokal - ini adalah driver, antivirus, proyek kecil dengan fungsionalitas sederhana. Bahasa pemrograman … VBA, meskipun C/C++ atau C dapat digunakan.
Proyek informasi apa pun adalah sumber daya web di jaringan lokal perusahaan, yang dapat diakses sebagian dari jaringan global, misalnya, untuk mengoordinasikan tindakan karyawan di luar kantor, di jalan, atau dalam perjalanan bisnis.
MySQL, PHP, Apache: menyiapkan kasus penggunaan lokal - dinamika aplikasi yang sama sekali berbeda, fungsionalitas yang diperlukan. Perusahaan saat ini, terlepas dari ukuran, jumlah karyawan, dan industri, secara serius mempertimbangkan pemrograman Internet, baik lokal maupun global.
Pada saat yang sama, pemrograman lokal dari sumber daya web dapat didistribusikan: kantor perusahaan dapat ditemukan di mana saja, tetapi ini bukan Internet, tetapi jaringan lokal perusahaan yang terdistribusi.
MySQL, PHP, setup Apache dalam bentuk lokal:
- mudah diduplikasi di seluruh komputer jaringan;
- memberikan kemampuan untuk mengubah komponen aktif secara dinamis atau mencocokkannya dengan sampel untuk mengevaluasi upaya peretasan;
- memberi alasan untuk mengembangkan sistem keamanan tanpa risiko diserang oleh metode jaringan klasik.
Jika kita memperhitungkan bahwa MySQL dan Apache di lingkungan Windows adalah layanan, dan kode PHP adalah teks biasa yang diproses oleh alat (penerjemah PHP) yang dipanggil pada waktu yang tepat oleh server HTTP, maka tingkat perubahannya, mobilitas dan portabilitas kode akansecara signifikan lebih tinggi daripada alat pengembangan lokal.
Mempersiapkan instalasi Apache
Bahkan di era "awal dari permulaan" sistem operasi Unix mendefinisikan prinsip kesetiaan yang tak terucapkan. Sejak itu, semua yang dilakukan di bawah sistem mirip Unix secara otomatis diterjemahkan ke platform lain. Menyiapkan Apache di Windows sangat mudah, tetapi tugas yang serius memerlukan tingkat pengalaman yang baik dan pemahaman yang mendetail tentang konfigurasi server
Pertama-tama, Anda perlu mengunduh versi server terbaru (hari ini adalah versi 2.4.33 tanggal 2018-03-17) dari situs web resmi dalam format arsip zip. Harus diingat pada awalnya bahwa versi server banyak dan ditawarkan di banyak sumber pihak ketiga, jadi penting untuk memilih implementasi resmi yang dihosting di sumber web tepercaya.
Sebelumnya, menginstal server melalui penginstal khusus merupakan hal yang populer. Sekarang praktik umum untuk hanya memperluas arsip zip. Ini lebih mudah dan memungkinkan untuk memahami esensi dari proses konfigurasi, yang sangat penting dan selanjutnya memungkinkan Anda untuk mengoptimalkan server untuk beban dan fungsionalitas yang diinginkan.
Mengedit file konfigurasi
Konfigurasi server ditentukan oleh sekumpulan file konfigurasi yang terletak di folder conf. File konfigurasi Apache utama adalah
Dalam sebagian besar kasus, perlu untuk membuat perubahan pada file utama, mengklarifikasi konten file yang bertanggung jawab untuk ssl dan host virtual. Pengaturan lain biasanyadibuat selama pengoperasian server saat masalah muncul atau tugas diselesaikan. Pada dasarnya, pengaturan lebih lanjut terkait dengan mengoptimalkan Apache atau memperluas kemampuannya.
Untuk berhasil meluncurkan server, cukup mengedit hanya satu baris (urutan - ke-38) - dan konfigurasi Apache selesai.
Dalam versi konfigurasi server sebelumnya, perlu untuk membuat banyak perubahan pada situasi nyata, tetapi sekarang ada variabel SRVROOT "universal". Sebaiknya tentukan nilai yang benar (jalur ke lokasi server), dan semuanya akan langsung berfungsi.
Prosedur Penerapan Server
Anda harus berhati-hati dengan lokasi server. Apache sendiri menarik, tetapi ketika dilengkapi dengan PHP dan MySQL, itu menjadi dua kali lipat menarik. Lebih baik bila segala sesuatu yang berhubungan dengan pengembangan web ada di satu tempat. Anda dapat menyetujui jalur default, tetapi pemrograman modern tidak begitu ideal dalam implementasinya, jadi Anda harus selalu memperhatikan denyut nadi dengan jelas dan sering. Selain itu, ketika memilih lokasi yang nyaman, semua file inisialisasi dan konfigurasi, serta log tentang pengoperasian produk yang diinstal akan tersedia.
Arsip zip Apache resmi yang diunduh harus disebarkan ke lokasi yang dipilih, menempatkan alat dan bekerja secara terpisah. Dalam contoh ini, folder C:\SCiA adalah alatnya (Apache24, PHP, MySQL, …), dan folder SCiB adalah pekerjaan situs web yang dibuat, dipelihara, atau ditingkatkan.
AkibatnyaPada pekerjaan tahap pertama, hanya subfolder bin, cgi-bin, conf, error, … dengan semua isinya yang masuk ke folder C:\SCiA\Apache24.
Edit file host
Langkah kedua adalah menyiapkan file host dengan benar - indikasi alamat IP mana pada komputer tertentu yang dipetakan ke nama mana. Jika komputer akan mengembangkan atau memelihara hanya satu situs, maka Anda tidak dapat mengubah apa pun.
IP dasar - 127.0.0.1 biasanya selalu menunjuk ke localhost. File host yang berfungsi terletak di c:\Windows\System32\drivers\etc dan terlihat seperti ini.
Untuk meletakkan file host di tempat yang tepat, Anda perlu menggunakan baris perintah dalam mode administrator. Anda dapat menyiapkan konten file yang benar di mana saja di sistem file komputer Anda, tetapi Anda hanya dapat menulisnya ke c:\Windows\System32\drivers\etc dengan alat yang memiliki hak administrator. Cara termudah untuk melakukannya adalah melalui baris perintah.
Instal server Apache
Tidak ada yang lebih mudah. Cukup dengan menjalankan command prompt sebagai administrator dan masuk ke folder C:\SCiA\Apache24. Karena ini adalah jalur pada sistem Windows, garis miring digunakan. Dalam kasus tertentu, jalurnya mungkin berbeda. Tetapi jika Anda masih dapat bereksperimen dengan nama folder untuk menyimpan trinitas suci - Apache, PHP dan MySQL - maka mengubah nama folder untuk masing-masing folder tidak praktis.
Dalam hal ini, arsip server ditempatkan di folder C:/SCiA/Apache24,oleh karena itu, Anda perlu menulis perintah di folder bin:
httpd.exe -k install
Server akan menguji file konfigurasi dan menginstal sendiri. Kemungkinan besar akan ada kesalahan kecil, tetapi jika Anda mengedit file konfigurasi dengan benar, maka semua kesalahan kecil dan dapat diperbaiki dengan cepat.
Window (1) dari baris perintah - menginstal layanan, jendela (2) - daftar layanan di mana server muncul, jendela (3) - file sumber index.html terletak di:/SCiB /localhost/www, jendela (4) - hasil server.
Dalam contoh ini, kesalahan sengaja dibuat: alih-alih menetapkan nilai variabel SRVROOT, banyak pengeditan dilakukan "cara kuno": semuanya diubah secara manual. Ini bukan solusi terbaik. Sebelum menerapkan pengetahuan, Anda harus membiasakan diri dengan versi produk saat ini. Sebagai aturan, segala sesuatunya berubah dengan cepat, dan pengetahuan harus diterapkan "dengan pengetahuan tentang masalah dan pemahaman tentang situasi saat ini."
Praktik menyebarkan arsip zip
Situs modern tidak selalu ditulis di sistem manajemen konten. Ada banyak pekerjaan manual. Masalah mentransfer situs ke hosting lain menghasilkan solusi yang baik - arsip zip. Menciutkan konten di satu tempat, memperluasnya di tempat lain.
Memiliki installer adalah praktik yang baik, tetapi dinamika teknologi informasi modern tidak memberikan waktu untuk menulis instalasi yang indah. Gunakan instalasi melalui penyebaran arsip zip - modern, praktis, dan nyaman. Pada opsi ini, konfigurasi Apache dibatasi untuk mengubah file konfigurasi.
Saat menginstal server, penting untuk menentukan:
- dimana dia;
- tempat sumber web berada (localhost);
- menggunakan ssl;
- host virtual.
Posisi terakhir relevan ketika seharusnya mengembangkan atau memelihara beberapa sumber daya sekaligus di server. Untuk pengembang sejati, ini adalah hal yang harus dimiliki: bahkan jika itu menyediakan pekerjaan satu situs, tidak akan berlebihan untuk memiliki cadangan.
Gentlemen's set
Mudah untuk menyebarkan arsip zip sudah jelas, Apache (instalasi dan konfigurasi) hanya berjarak dua atau tiga klik. Namun, hasil ketika installer populer adalah setara. Pengembang hanya menghabiskan lebih banyak waktu untuk mengembangkan versi berikutnya dari produknya. Menginstal server, bahasa server, dan database pada dasarnya hanyalah sekumpulan file, layanan awal, file host, dan jalur default di jalur variabel sistem operasi.
Munculnya Denver dan perangkat pengembangan pria sejenis merupakan langkah revolusioner dalam hal kesederhanaan dan kenyamanan, tetapi jangan salah. Revolusi dan pemrograman adalah hal yang sama sekali tidak cocok. Yang pertama adalah anak dari konflik dan resolusi badainya, yang kedua adalah masalah serius yang membutuhkan ketenangan mutlak, ketepatan waktu, akurasi, konsistensi, perhatian, keamanan, keandalan.
Mengonfigurasi server Apache adalah prosedur serius yang perlu dilakukan dengan sangat hati-hati dan semuanya harus dilakukan agar besok Anda dapat mengubah dan mengklarifikasi sesuatu.
Dalam kebanyakan kasus, pengembangan websumber daya adalah proses yang cukup panjang di mana persyaratan untuk layanan (Apache, PHP, MySQL, …) berubah dengan cepat, tetapi selalu ada waktu untuk memahami tugas berikutnya dan solusi optimalnya. Tapi ini bukan alasan untuk melanjutkan tentang set pria. Waktu berlalu, tetapi pria itu tidak berubah, ini adalah argumen yang jauh lebih menarik daripada deklarasi Denver - sederhana, cepat, dan dapat diakses.
Beberapa situs - satu server
Menyiapkan Apache 2.4 untuk satu host adalah kemewahan yang tidak dapat dibenarkan. Terlepas dari desainnya yang ringkas, server ini memikul tanggung jawab yang besar untuk lebih dari setengah sumber daya web aktif di Internet. Selain itu, tidak semua sumber daya memiliki bagian yang representatif dan terlihat di jaringan.
Server dapat digunakan sebagai database, sebagai titik transfer informasi, sebagai filter, sebagai parser, sebagai mekanisme kerja dalam proses informasi yang lebih global. Akibatnya, menyiapkan host virtual Apache hampir selalu menjadi keharusan.
Satu server dapat mendukung sumber daya web sebanyak yang Anda inginkan, untuk ini Anda perlu menghapus komentar pada baris 501 di file
Sertakan conf/extra/httpd-vhosts.conf
dan jelaskan semua host yang diperlukan dalam file
extra\httpd-vhosts.conf
Anda mungkin perlu mengklarifikasi port dan IP mana yang didengarkan server, tetapi ini adalah masalah terpisah, untuk pertama kalinya Anda dapat membatasi diri Anda sendiri.
Perlu dicatat bahwa dalam contoh, untuk kenyamanan menggambarkan sumber daya web virtual nyata (dan ada banyak dari mereka), sebuah variabel diperkenalkan(DOCROOT) dengan path ke folder bersama dari semua sumber daya web yang tersedia melalui server yang diinstal.
Konfigurasi SSL Apache tersedia dengan cara yang sama. Dalam file httpd.conf, Anda hanya perlu membiarkan baris "apa adanya" dari 524 hingga 531, yang bertanggung jawab atas pengoperasian SSL.
Kesederhanaan dan kerumitan Apache
Hari-hari ketika menyiapkan server merupakan tantangan nyata sudah lama berlalu. Saat ini, menyiapkan Apache adalah prosedur yang sangat sederhana yang tidak memerlukan keahlian khusus dari pengembang.
Tiga langkah mudah:
- perluas arsip;
- ubah file konfigurasi;
- instal server.
Akibatnya, Apache berfungsi penuh. Jika Anda tidak memperhitungkan seluk-beluk proses menjalankan server pada beban maksimum atau melakukan pengembangan lokal di komputer Windows, tidak diperlukan pengetahuan tambahan.
Kesulitan dapat muncul pada sistem Linux. Pemahaman yang sangat berbeda tentang sistem file, hak pengguna dan grup, serta organisasi proses interaksi dengan aplikasi lain mengharuskan pengembang untuk lebih kompeten dan memahami cara kerja komputer Linux.
Mengonfigurasi Apache pada sistem Linux mana pun membuka lebih banyak peluang bagi pengembang dan menyediakan akses ke jaringan lokal dan Internet. Secara tradisi, komputer Windows adalah workstation lokal, dan server internal di sana. Komputer Linux adalah server file, server web, dan node atau titik jaringan lokal di ruang Internet.
Lingkungan profesionalpengembang
Apache adalah blok bangunan dasar dari ruang Internet yang dapat dengan mudah dan mudah dikonfigurasi, digunakan dan akan menjadi tulang punggung infrastruktur jaringan perusahaan.
Logika ini mengasumsikan bahwa setidaknya ada satu server di jaringan yang menjalankan CentOS, Ubuntu, FreeBSD, workstation Windows. Sangat optimal untuk memiliki dua server Linux (utama dan tambahan), pengaturan Apache untuk komputer lokal di lingkungan Windows. Jika terjadi serangan virus atau situasi yang tidak terduga, server tambahan akan menggantikan yang utama, dan server utama akan diperbaiki dan dipulihkan. Anda dapat mengganti instalasi lokal Apache pada workstation (di bawah Windows) dari arsip.
Solusi sepele ini dapat disempurnakan dan ditambahkan dalam praktik nyata. Besar kecilnya arus informasi suatu perusahaan dapat menentukan konfigurasi yang diinginkan dan jumlah server yang dibutuhkan. Sebenarnya, Apache dirancang untuk bekerja di bawah beban, tetapi tidak ada yang menghalangi Anda untuk mendistribusikan tanggung jawab satu server ke beberapa server. Solusi yang mempertimbangkan karakteristik perusahaan tertentu selalu lebih menjanjikan daripada mengadaptasi opsi pihak ketiga.