GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Cara Menginstal Dan Mengatur Apache 2?

Bagaimana saya bisa menginstal Apache2, php, mysql dan mengaturnya dengan virtual host dan lebih disukai Let's Encrypt sertifikat SSL, dan kemudian melanjutkan untuk menginstal WordPress di atasnya?

Jawaban yang Diterima:

Saya berasumsi bahwa Anda memiliki instalasi Ubuntu yang sedang berjalan. Ini ditulis dengan mempertimbangkan 16,04 tetapi harus bekerja dengan beberapa adaptasi pada versi lain juga.

Dalam jawaban ini, # menunjukkan shell root, sementara $ menunjukkan shell pengguna normal.

example.org digunakan sebagai contoh (D'oh) dalam jawaban ini, dan harus diubah agar sesuai dengan instalasi Anda.

Menginstal Apache2, PHP, MariaDB dan sebagainya

$ sudo apt install apache2 libapache2-mod-php mariadb-server php-mysql

Ini akan menginstal Apache2, PHP, MariaDB, dan beberapa dependensi, selain binding PHP untuk mengakses mysql.

Pada tahap ini, Anda seharusnya dapat mengakses http://example.org, dan melihat halaman default:

Menyiapkan vhost

Vhost adalah host virtual, yang digunakan untuk menyajikan konten yang berbeda untuk nama domain yang berbeda.

Mulai mengedit file baru bernama /etc/apache2/sites-available/01-example.org.conf di editor favorit Anda:

$ sudo editor /etc/apache2/sites-available/01-example.org.conf 

Masukkan konfigurasi berikut:

<VirtualHost *:80>
        ServerName example.org
        ServerAlias www.example.org
        ServerAdmin [email protected]
        DocumentRoot /var/www/html/example.org/
        ErrorLog ${APACHE_LOG_DIR}/example.org.error.log
        CustomLog ${APACHE_LOG_DIR}/example.org.access.log combined
</VirtualHost>

Pertama, kita mendefinisikan ServerName utama. Ini adalah domain yang digunakan untuk mengakses situs. Hanya satu yang dapat ditentukan per vhost. Selain itu, kami mendefinisikan ServerAlias, jika seseorang memasukkan www.example.org di browser mereka. Ini memastikan bahwa Apache membalas kedua nama tersebut. Kedua nama harus menunjuk ke server Anda, baik di DNS, atau di /etc/hosts untuk pengujian lokal.

Sejumlah alias server dapat ditentukan, dan mereka tidak harus berisi bagian dari ServerName. Jadi, ServerAlias example.com akan valid.

Buat DocumentRoot baru

Saya telah menempatkan documentroot baru di /var/www/html/example.org . Ini adalah lokasi yang diizinkan untuk dilayani oleh Apache di Ubuntu. Jika saya, misalnya, meletakkannya di /srv/ , saya harus menyertakan bait Direktori untuk itu. Untuk saat ini, buat webroot, isi dengan beberapa konten, dan aktifkan konfigurasi baru:

$ sudo mkdir /var/www/html/example.org
$ echo "This is a test" | sudo tee /var/www/html/example.org/index.html
$ sudo a2ensite 01-example.org.conf
$ sudo service apache2 reload

Jika sekarang Anda mengunjungi http://example.org, Anda akan melihat output *This is a test”. Selamat! Vhost pertama Anda sedang berjalan!

Instal letsencrypt dan ambil sertifikat

Untuk menerima sertifikat dari Let's Encrypt, kami membutuhkan klien. Paket letsencrypt yang disertakan dengan 16.04 sudah kuno, jadi kami membutuhkan ppa untuk ini.

$ echo "deb http://ppa.launchpad.net/certbot/certbot/ubuntu xenial main" | sudo tee /etc/apt/sources.list.d/01-certbot.list
$ sudo add-apt-key -k keyserver.ubuntu.com 8C47BE8E75BCA694
$ sudo apt update && sudo apt install certbot python3-certbot-apache 

Jalankan certbot sebagai root:

$ sudo certbot

Pilih domain yang ingin Anda dapatkan sertifikatnya dan ikuti petunjuk di layar oleh certbot. Ketika ditanya apakah Anda ingin mengalihkan, pilih redirect jika Anda hanya ingin https, dan tidak ada redirect jika Anda ingin keduanya http dan https. Saat ini, hampir tidak ada alasan untuk tidak mengalihkan.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 

Coba kunjungi http://example.com lagi – ini akan berubah untuk menunjukkan bahwa itu aman.

Terkait:Bagaimana Cara Meningkatkan Kecepatan Boot di Ubuntu?

Selamat, Anda belum menyiapkan apache2 dengan sertifikat TLS valid yang memastikan lalu lintas dienkripsi!

Instal WordPress

Langkah selanjutnya adalah menginstal beberapa aplikasi. Saya telah memilih WordPress sebagai contoh untuk dipasang.

Pertama menjadi root dengan memasukkan sudo -i . Selanjutnya, ubah direktori ke webroot Anda, dan unduh, buka paket, dan ubah kepemilikan menjadi pengguna Apache:

$ sudo -i
# cd /var/www/html/example.org/
# wget https://wordpress.org/latest.tar.gz
# tar -zxf latest.tar.gz && rm latest.tar.gz
# chown -R www-data.www-data wordpress/

Anda sekarang akan memiliki instance WordPress di https://example.com/wordpress/ – ayo pergi ke sana.

Wisaya memberi tahu Anda bahwa Anda memerlukan tabel MySQL, pengguna, dan kata sandi. Ayo buat!

Secara default, Ubuntu akan menggunakan otentikasi soket unix untuk MariaDB. Jadi, untuk masuk ke MariaDB sebagai root, Anda harus menggunakan

sudo mysql -u root

atau jalankan perintah di shell root (misalnya sudo -i ). Ini akan membuat Anda masuk tanpa memasukkan kata sandi apa pun

# mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 32
Server version: 10.0.33-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> CREATE DATABASE wordpress_db;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON `wordpress_db`.* TO 'wordpress_user'@'localhost' IDENTIFIED BY 'passw0rd';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> exit

Isi username wordpress_user , nama database wordpress_db dan kata sandi passw0rd dalam konfigurasi WordPress. Itu pada dasarnya; sisanya adalah tentang mengikuti panduan instalasi WordPress.

Untuk menambahkan lebih banyak vhost, cukup mulai dari “Menyiapkan vhost”.

Bacaan lebih lanjut

  • Modul Apache – menonaktifkan dan mengaktifkan
  • Menjalankan certbot dari cron ke autorenew certs
  • Panduan untuk mod_rewrite, modul Apache yang umum digunakan
  • Izin file untuk /var/www/html
  • Panduan pengguna Certbot

Ubuntu
  1. Cara Menginstal Apache Maven di Ubuntu 18.04 dan 16.04

  2. Cara Menginstal dan Mengatur mysql 8 di Ubuntu 20.04

  3. Cara menginstal dan mengatur PHP dan Apache (LAMP stack) di Ubuntu 20.04

  1. Cara Mengatur &Mengonfigurasi ModSecurity di Apache

  2. Cara Menginstal Apache di CentOS 8

  3. Cara Menginstal Apache di Ubuntu 18.04

  1. Cara menginstal Apache di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Nextcloud dengan Apache di Ubuntu 18.04

  3. Cara Menginstal Apache di CentOS 7