GNU/Linux >> Belajar Linux >  >> OpenSuse

Cara menginstal dan mengatur PHP dan Apache (LAMP stack) di OpenSUSE Leap 15.3

Apache HTTP Server (Apache), adalah salah satu perangkat lunak server web lintas platform sumber terbuka dan gratis yang paling populer, dirilis di bawah persyaratan Lisensi Apache 2.0. Apache populer sebagai bagian dari pengaturan LAMP, menjadi A dalam Akronim. Fungsionalitas server apache dapat diperluas dengan banyak modul yang tersedia.

PHP adalah bahasa scripting tujuan umum diarahkan pengembangan web. Ini adalah salah satu bahasa pemrograman populer untuk web. Alat populer seperti WordPress dikodekan menggunakan php. Perusahaan besar seperti Facebook juga banyak menggunakan php.

Konten Terkait:

  • Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3
  • Cara Menginstal tumpukan Apache PHP 7.4 (LAMP) di Rocky Linux/Centos 8
  • Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di Ubuntu 20.04
  • Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Ubuntu 20.04
  • Cara menginstal dan menyiapkan PHP dan Apache (LAMP stack) di Debian 11
  • Cara Menginstal dan menyiapkan PHP dan Nginx (LEMP) di Debian 11
  • Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di Rocky Linux/Alma Linux 8

Prasyarat

Untuk mengikuti panduan ini, pastikan Anda memiliki yang berikut:

  • Server OpenSUSE lompatan 15.3 yang diperbarui
  • Akses root ke server atau Pengguna dengan akses sudo
  • Akses internet

Daftar Isi

  1. Memastikan bahwa server selalu mutakhir
  2. Menginstal PHP di OpenSUSE Leap 15.3
  3. Menginstal Apache di OpenSUSE Leap 15.3
  4. Mengonfigurasi host virtual
  5. Menguji konfigurasi host virtual

1. Memastikan bahwa server sudah diperbarui

Sebelum melanjutkan, itu selalu merupakan praktik yang baik untuk memastikan bahwa server up to date. Gunakan perintah ini untuk mencapainya

sudo zypper refresh
sudo zypper update -y

2. Menginstal PHP di OpenSUSE Leap 15.3

PHP tersedia di repo OpenSUSE default. Versi terbaru PHP pada saat blog ini ditulis adalah PHP 7.4.

Instal PHP dan beberapa paket umum menggunakan perintah ini:

sudo zypper install -y \
    php \
    php-cli \
    php-gd \
    php-mbstring

Periksa versi PHP yang diinstal

~> zypper info php7
Repository 'Update repository with updates from SUSE Linux Enterprise 15' is out-of-date. You can run 'zypper refresh' as root to update it.
Loading repository data...
Reading installed packages...


Information for package php7:
-----------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : php7
Version        : 7.4.6-3.29.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 10.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : php7-7.4.6-3.29.1.src
Summary        : Interpreter for the PHP scripting language version 7
Description    :
    PHP is a server-side HTML embedded scripting language designed
    primarily for web development but also used as a general-purpose
    programming language.

    This package contains the standard implementation of PHP, namely Zend
    PHP. Included are the PHP command-line binary and the configuration
    file (php.ini). This package must be installed in order to use PHP.
    Additionally, extension modules and server modules (e.g. for Apache)
    may be installed.

    Additional documentation is available in package php-doc.

Periksa versi php yang diinstal menggunakan perintah ini:

~> php -v
PHP 7.4.6 (cli) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

3. Menginstal apache di OpenSUSE Leap 15.3

Paket Apache tersedia di repositori default OpenSUSE Leap 15.3 sebagai apache2 . Instal menggunakan perintah ini:

sudo zypper install -y apache2

Konfirmasikan paket yang diinstal menggunakan perintah ini:

~> zypper info apache2
Loading repository data...
Reading installed packages...


Information for package apache2:
--------------------------------
Repository     : Update repository with updates from SUSE Linux Enterprise 15
Name           : apache2
Version        : 2.4.43-3.32.1
Arch           : x86_64
Vendor         : SUSE LLC <https://www.suse.com/>
Installed Size : 4.3 MiB
Installed      : Yes
Status         : up-to-date
Source package : apache2-2.4.43-3.32.1.src
Summary        : The Apache Web Server
Description    :
    This version of httpd is a major release of the 2.4 stable branch,
    and represents the best available version of Apache HTTP Server.
    New features include Loadable MPMs, major improvements to OCSP support,
    mod_lua, Dynamic Reverse Proxy configuration, Improved Authentication/
    Authorization, FastCGI Proxy, New Expression Parser, and a Small Object
    Caching API.

     See /usr/share/doc/packages/apache2/, http://httpd.apache.org/, and
    http://httpd.apache.org/docs-2.4/upgrading.html.

Layanan tidak akan dimulai secara default.

sudo systemctl start apache2

Periksa status menggunakan perintah ini:

~> sudo systemctl status apache2
● apache2.service - The Apache Webserver
     Loaded: loaded (/usr/lib/systemd/system/apache2.service; disabled; vendor preset: disabled)
     Active: active (running) since Wed 2021-12-22 06:58:45 UTC; 53s ago
   Main PID: 27333 (httpd-prefork)
     Status: "Processing requests..."
      Tasks: 6
     CGroup: /system.slice/apache2.service
             ├─27333 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27340 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27341 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27342 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             ├─27343 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>
             └─27344 /usr/sbin/httpd-prefork -DSYSCONFIG -C PidFile /var/run/httpd.pid -C Include /etc/apache2/sysconfig.d//loadmodule.conf -C Include /etc/apache2/sysconfig.d//global.conf -f /etc/apache>

Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Starting The Apache Webserver...
Dec 22 06:58:45 ip-10-2-40-44 systemd[1]: Started The Apache Webserver.

Untuk mengaktifkan layanan saat boot, gunakan perintah ini

sudo systemctl enable apache2

Jika Anda memiliki firewall yang diinstal dan diaktifkan di komputer Anda, ingatlah untuk mengizinkan lalu lintas ke Apache2 server web melalui firewall sebelum melanjutkan ke langkah berikutnya.

$ sudo firewall-cmd --permanent --add-port=80/tcp
$ sudo firewall-cmd --permanent --add-port=443/tcp
$ sudo firewall-cmd --reload

Agar Apache menyajikan file php

sudo zypper install -y apache2-mod_php7

Kemudian aktifkan modul php7

sudo a2enmod php7

Terakhir restart Apache2 untuk menerapkan penambahan modul

sudo systemctl restart apache2

4. Mengonfigurasi host virtual

Dengan Apache, dimungkinkan untuk meng-host beberapa situs di server yang sama tempat Apache dijalankan. Ini selalu dapat dicapai dengan menggunakan beberapa domain yang masing-masing mewakili situs yang dihosting oleh server.

Host virtual Apache mirip dengan blok server Nginx. Setiap virtual host akan memiliki detail konfigurasi untuk satu host. Anda dapat memiliki host virtual sebanyak yang Anda inginkan.

Dalam contoh ini, kita akan menggunakan domain site1.citizix.com untuk virtual host tetapi bebas menggunakan domain pilihan Anda. Harap perhatikan bahwa DNS untuk domain yang akan digunakan harus sudah dikonfigurasi untuk menunjuk ke alamat IP server.
Konfirmasi dengan:

dig -t A site1.citizix.com

Membuat direktori dan contoh konten

Halaman default Apache dikonfigurasi sebagai host virtual default yang menyajikan konten dari /srv/www/htdocs . Ini adalah praktik terbaik untuk membuat direktori situs Anda di /srv/www direktori karena ini adalah praktik terbaik untuk melayani dari sana.

Mari buat direktori untuk situs kita dengan perintah berikut:

sudo mkdir -p /srv/www/site1.citizix.com

Mari kita buat index.php yang sederhana halaman untuk melayani dari situs kami. Anda perlu menginstal vim agar ini berfungsi, jika tidak gunakan perintah ini:

sudo zypper install -y vim

Edit filenya:

sudo vim /srv/www/site1.citizix.com/index.php

Tambahkan konten ke file:

<?php phpinfo(); ?>

Terakhir, pastikan bahwa$USER pengguna memiliki direktori situs:

sudo chown -R wwwrun:wwwrun /var/www/site1.citizix.com

Membuat host virtual

File Apache Virtual host menentukan konfigurasi setiap situs dan memberi tahu server web Apache cara merespons berbagai permintaan domain.

Konfigurasi Apache akan disimpan di direktori /etc/httpd/conf.d/ . Mari buat konfigurasi untuk situs kita:

sudo vim /etc/apache2/conf.d/site1.citizix.com.conf

Tambahkan konten berikut:

<VirtualHost *:80>
    ServerName site1.citizix.com
    ServerAlias site1.citizix.com

    ServerAdmin [email protected]

    DocumentRoot /srv/www/site1.citizix.com
    ErrorLog /var/log/apache2/site1.citizix.com.error.log
    CustomLog /var/log/apache2/site1.citizix.com.requests.log combined

    <Directory "/srv/www/site1.citizix.com">
        Options Indexes
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
</VirtualHost>

Ini akan memberi tahu Apache hal berikut:

  • ServerName dan ServerAlias – nama host yang akan dilayani
  • DocumentRoot – di mana menemukan root secara langsung yang menyimpan dokumen web yang dapat diakses publik
  • DirectoryIndex – File yang akan dilayani apache saat situs diakses
  • ErrorLog – tempat menyimpan log kesalahan untuk situs ini
  • CustomLog – tempat menyimpan log permintaan untuk situs tertentu ini

Simpan dan tutup file setelah Anda selesai

Uji konfigurasi

~> sudo apachectl configtest
Syntax OK

Kemudian muat ulang konfigurasi Apache2

sudo systemctl reload apache2

5. Menguji konfigurasi Host Virtual

Untuk menguji konfigurasi, buka browser Anda dan muat domain yang Anda siapkan. Dalam kasus saya ini adalah http://site1.citizix.com . Anda akan melihat halaman info php.

Jika Anda belum mengonfigurasi pengaturan DNS Anda atau hanya tidak ingin situs tersebut ditayangkan, Anda dapat memodifikasi file host komputer Anda. Untuk melakukannya, gunakan perintah berikut di CLI komputer lokal Anda

sudo vim /etc/hosts

Kemudian, tambahkan alamat IP server Anda yang sebenarnya diikuti dengan nama domain yang Anda konfigurasikan, misalnya:

# Virtual Hosts Local Test
10.2.11.11 site1.citizix.com

Sekarang Anda seharusnya dapat menyimpan file dan mengaksesnya dari dalam browser web.

Jika ada yang tidak berfungsi seperti yang diharapkan, Anda dapat memeriksa log server virtualhost menggunakan ini

tail -f /var/log/apache2/site1.citizix.com.*

Kesimpulan

Dalam panduan ini, kami berhasil mengatur Apache untuk melayani situs PHP di server Ubuntu 20.04.


OpenSuse
  1. Cara Setup Opencart dengan LAMP (PHP, Apache, Mariadb) di OpenSUSE Leap 15.3

  2. Cara Menginstal dan mengatur Nginx sebagai proxy OpenSUSE Leap 15.3

  3. Cara Menginstal dan Mengkonfigurasi Mariadb 10 di OpenSUSE Leap 15.3

  1. Cara Install Apache dan PHP (LAMP stack) di Rocky Linux/Centos 8

  2. Cara menginstal dan menggunakan Podman di OpenSUSE Leap 15.3

  3. Cara Menginstal dan mengatur PHP dan Nginx (LEMP) di OpenSUSE Leap 15.3

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

  2. Cara menginstal dan mengatur PHP dan Apache (LAMP stack) di Debian 11

  3. Cara mengatur tumpukan LAMP (Linux, Apache, MariaDB, PHP) di Debian Wheezy