Cara Pasang Apache, MySQL dan PHP (FAMP) pada FreeBSD 12.0

Pengenalan

Tumpuan FAMP, yang setanding dengan timbunan LAMP di Linux, adalah koleksi perisian sumber terbuka yang lazimnya dipasang bersama untuk membolehkan pelayan FreeBSD menjadi tuan rumah laman web dinamik dan aplikasi web. FAMP adalah singkatan yang bermaksud F reeBSD (sistem operasi), A Pache (HTTP server), M ySQL (server pangkalan data), dan P HP (pengaturcaraan bahasa ke kandungan PHP proses dinamik).

Dalam panduan ini, kami akan menggunakan unsur-unsur stack FAMP pada contoh FreeBSD 12.0 Vultr menggunakan pkg, pengurus pakej FreeBSD.

Keperluan

Sebelum anda memulakan panduan ini, anda memerlukan yang berikut:

  • A FreeBSD 12.0 VPS.
  • Seorang pengguna dengan keistimewaan root atau sudopengguna untuk membuat perubahan konfigurasi.
  • Disarankan untuk memahami asas sistem FreeBSD dan antara muka baris perintah.

Sebelum awak bermula

Semak versi FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE-p6

Pastikan sistem FreeBSD anda terkini.

freebsd-update fetch install
pkg update && pkg upgrade -y

Pasang pakej yang diperlukan.

pkg install -y sudo vim bash curl

Buat akaun pengguna baru dengan nama pengguna pilihan anda. Kami menggunakan johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Jalankan visudoarahan dan unmentasikan %wheel ALL=(ALL) ALLbaris, untuk membolehkan ahli wheelkumpulan melaksanakan sebarang arahan.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Sekarang, beralih kepada pengguna yang baru anda buat dengan su:

su - johndoe

CATATAN: Ganti johndoedengan nama pengguna anda.

Sediakan zon waktu:

sudo tzsetup

Langkah 1 - Memasang Apache

Pelayan web Apache kini merupakan salah satu pelayan web paling popular di dunia. Ini adalah pilihan yang sangat baik untuk hosting laman web.

Anda boleh memasang Apache menggunakan pengurus pakej FreeBSD ini, pkg. Pengurus pakej membolehkan anda memasang kebanyakan perisian dengan mudah dari repositori yang dikendalikan oleh FreeBSD. Anda boleh mengetahui lebih lanjut mengenai cara menggunakannya pkgdi sini .

Untuk memasang Apache, keluarkan arahan berikut:

sudo pkg install -y apache24

Semak versi:

httpd -v
# Server version: Apache/2.4.39 (FreeBSD)

Sekarang, dayakan dan mulakan Apache:

sudo sysrc apache24_enable=yes
sudo service apache24 start

Untuk memastikan bahawa Apache telah bermula, anda boleh menjalankan perintah berikut:

sudo service apache24 status

Hasilnya, anda akan melihat sesuatu yang serupa dengan:

# Output
apache24 is running as pid 17772.

Anda boleh mengesahkan bahawa Apache dipasang dan berfungsi tanpa ralat dengan mengunjungi alamat IP awam pelayan anda di penyemak imbas web anda. Navigasi ke http://your_server_IP. Anda akan melihat lalai " Ia berfungsi! " Halaman Apache.

Langkah 2 - Memasang MySQL 8.0

Sekarang anda telah menghidupkan dan menjalankan pelayan web anda, inilah masanya untuk memasang MySQL, sistem pengurusan pangkalan data hubungan. Pelayan MySQL akan menganjurkan dan menyediakan akses kepada pangkalan data di mana pelayan anda boleh menyimpan maklumat.

Sekali lagi, anda dapat memanfaatkan pkguntuk mendapatkan dan memasang perisian anda.

Untuk memasang MySQL 8.0menggunakan pkg, gunakan arahan ini:

sudo pkg install -y mysql80-client mysql80-server

Perintah ini akan memasang versi terkini klien dan pelayan MySQL, yang saat ini 8.x.x.

Semak versi:

mysql --version
# mysql  Ver 8.0.16 for FreeBSD12.0 on amd64 (Source distribution)

Sekarang, aktifkan dan mulakan MySQL:

sudo sysrc mysql_enable=yes
sudo service mysql-server start

Untuk memastikan bahawa MySQL telah dimulakan anda boleh menjalankan arahan berikut:

sudo service mysql-server status

Anda akan melihat sesuatu yang serupa dengan yang berikut:

# Output
mysql is running as pid 19171.

Sebagai amalan yang baik, anda boleh menjalankan mysql_secure_installationskrip keselamatan yang akan mengalih keluar beberapa lalai tidak selamat dan sedikit menghadkan akses ke sistem pangkalan data anda.

sudo mysql_secure_installation

Anda akan diminta untuk menetapkan kata laluan, diikuti dengan beberapa soalan lain. Masukkan kata laluan yang kuat dan kemudian untuk selebihnya soalan tekan ENTERuntuk memilih lalai.

Langkah 3 - Memasang PHP 7.3

PHP adalah bahasa skrip sisi pelayan yang direka untuk pembangunan web. PHP adalah komponen penting dari timbunan FAMP. Juga, Python atau Perl biasanya digunakan bukannya PHP. Walau bagaimanapun, PHP sebagai pilihan paling popular digunakan paling kerap. Bersama pangkalan data, ia akan memberikan tingkah laku dinamik atau laman web web anda.

Sekali lagi memanfaatkan pkgsistem untuk memasang komponen PHP.

Untuk memasang PHP 7.3 dengan pkg, jalankan arahan ini:

sudo pkg install -y php73 php73-mysqli mod_php73

Ini memasang php73, mod_php73dan php73-mysqlipakej.

Semak versi.

php --version
# PHP 7.3.7 (cli) (built: Jul 25 2019 01:28:53) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.3.7, Copyright (c) 1998-2018 Zend Technologies

Salin sampel fail konfigurasi PHP ke tempat dengan arahan ini:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Sekarang, aktifkan dan mulakan PHP-FPM:

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Untuk memastikan bahawa PHP-FPM telah dimulakan anda boleh menjalankan arahan berikut:

sudo service php-fpm status

Hasilnya, anda akan melihat sesuatu yang serupa dengan:

# Output
php_fpm is running as pid 23005.

Memasang Modul PHP (Pilihan)

Untuk meningkatkan fungsi PHP, anda boleh memasang beberapa modul tambahan secara pilihan.

Untuk melihat sekarang yang disusun dalam modul PHP, anda boleh menjalankan ini:

php -m
# [PHP Modules]
# Core
# date
# libxml
# mysqlnd
# pcre
# Reflection
# SPL
# standard

# [Zend Modules]

Untuk mencari modul PHP yang tersedia, anda boleh menggunakan arahan ini:

pkg search ^php73-*

Hasilnya kebanyakannya adalah modul PHP 7.3 yang boleh anda pasangkan:

# Output
# php73-7.3.7                    PHP Scripting Language
# php73-Ice37-3.7.2              Modern alternative to object middleware such as CORBA/COM/DCOM/COM+
# php73-aphpbreakdown-2.2.2      Code-Analyzer for PHP for Compatibility Check-UP
# php73-aphpunit-1.8             Testing framework for unit tests
# php73-bcmath-7.3.7             The bcmath shared extension for php
# php73-brotli-0.7.0             Brotli extension for PHP
# php73-bsdconv-11.5.0           PHP wrapper for bsdconv
# php73-bz2-7.3.7                The bz2 shared extension for php
# php73-calendar-7.3.7           The calendar shared extension for php
# php73-composer-1.8.6           Dependency Manager for PHP
# php73-ctype-7.3.7              The ctype shared extension for php
# php73-curl-7.3.7               The curl shared extension for php
# . . .

Sekiranya, setelah meneliti, anda memutuskan bahawa anda perlu memasang pakej, anda boleh melakukannya dengan menggunakan pkg installperintah. Sebilangan besar aplikasi web PHP memerlukan modul tambahan, jadi ada baiknya mengetahui cara mencarinya.

Langkah 4 - Mengkonfigurasi Apache untuk Menggunakan Modul PHP

Sebelum menggunakan PHP, anda mesti mengkonfigurasinya untuk bekerja dengan Apache.

Jalankan sudo vi /usr/local/etc/apache24/modules.d/001_mod-php.confdan isi fail dengan kandungan di bawah:

<IfModule dir_module>
  DirectoryIndex index.php index.html
  <FilesMatch "\.php$">
    SetHandler application/x-httpd-php
  </FilesMatch>
  <FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
  </FilesMatch>
</IfModule>

Simpan fail dan keluar dengan :+ W+Q

Semak konfigurasi Apache.

sudo apachectl configtest

Kerana anda telah membuat perubahan konfigurasi di Apache, anda harus memuatkan semula perkhidmatan untuk yang akan diterapkan. Jika tidak, Apache masih akan berfungsi dengan konfigurasi yang lebih awal.

sudo apachectl restart

Langkah 5 - Ujian Pemprosesan PHP

Untuk menguji bahawa sistem anda dikonfigurasi dengan betul untuk PHP, anda boleh membuat skrip PHP yang sangat asas. Anda akan memanggil skrip ini info.php. Secara lalai, DocumentRootset ditetapkan ke /usr/local/www/apache24/data. Anda boleh membuat info.phpfail di bawah lokasi tersebut dengan menaip:

sudo vim /usr/local/www/apache24/data/info.php

Tambahkan kod ini ke fail itu:

<?php phpinfo(); ?>

Navigasi ke http://your_server_IP/info.phpdan anda akan melihat halaman berikut:

Cara Pasang Apache, MySQL dan PHP (FAMP) pada FreeBSD 12.0

Selepas pemasangan dan persediaan stack FAMP, anda perlu mengeluarkan info.phpfail untuk mengelakkan pendedahan maklumat mengenai pelayan kepada orang ramai.

sudo rm /usr/local/www/apache24/data/info.php

Kesimpulannya

Tahniah, anda telah berjaya memasang stack FAMP pada FreeBSD 12.0 VPS anda. Kini anda mempunyai banyak pilihan untuk apa yang perlu dilakukan seterusnya. Anda telah memasang platform yang membolehkan anda memasang kebanyakan jenis laman web dan perisian web di atasnya.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut