GNU/Linux >> Belajar Linux >  >> Ubuntu

Menjalankan concrete5 Di Nginx (LEMP) Di Debian Squeeze/Ubuntu 12.10

Tutorial ini menunjukkan bagaimana Anda dapat menginstal dan menjalankan situs web concrete5 pada sistem Debian Squeeze atau Ubuntu 12.10 yang telah menginstal nginx, bukan Apache (LEMP =L inux + nginx (diucapkan "e ngine x") + M ySQL + P HP). nginx adalah server HTTP yang menggunakan sumber daya jauh lebih sedikit daripada Apache dan memberikan halaman jauh lebih cepat, terutama file statis. beton5 adalah sistem manajemen konten (CMS) sumber terbuka dan gratis.

Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!

1 Catatan Awal

Saya ingin menginstal concrete5 di vhost bernama www.example.com/example.com di sini dengan root dokumen /var/www/www.example.com/web.

Anda harus memiliki instalasi LEMP yang berfungsi, seperti yang ditunjukkan dalam tutorial ini:

  • Menginstal Nginx Dengan PHP5 Dan Dukungan MySQL Pada Debian Squeeze
  • Menginstal Nginx Dengan PHP5 (Dan PHP-FPM) Dan Dukungan MySQL Di Ubuntu 12.10

Catatan untuk pengguna Ubuntu:

Karena kita harus menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik

sudo su

2 Memasang APC

APC adalah cacher opcode PHP gratis dan terbuka untuk menyimpan dan mengoptimalkan kode perantara PHP. Ini mirip dengan cacher opcode PHP lainnya, seperti eAccelerator dan XCache. Sangat disarankan untuk menginstal salah satu dari ini untuk mempercepat halaman PHP Anda.

APC dapat diinstal sebagai berikut:

apt-get install php-apc

Jika Anda menggunakan PHP-FPM sebagai daemon FastCGI Anda (seperti di Menginstal Nginx Dengan PHP5 (Dan PHP-FPM) Dan Dukungan MySQL Di Ubuntu 12.10), mulai ulang sebagai berikut:

/etc/init.d/php5-fpm restart

Jika Anda menggunakan program spawn-fcgi lighttpd sebagai daemon FastCGI Anda (seperti di Menginstal Nginx Dengan PHP5 Dan Dukungan MySQL Pada Debian Squeeze), kita harus mematikan proses spawn-fcgi saat ini (berjalan pada port 9000) dan membuat yang baru. Jalankan

netstat -tap

untuk mengetahui PID dari proses spawn-fcgi saat ini:

[email protected]:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:sunrpc                *:*                     LISTEN      734/portmap
tcp        0      0 *:www                   *:*                     LISTEN      2987/nginx
tcp        0      0 *:ssh                   *:*                     LISTEN      1531/sshd
tcp        0      0 *:57174                 *:*                     LISTEN      748/rpc.statd
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      1507/exim4
tcp        0      0 localhost.localdom:9000 *:*                     LISTEN      1542/php5-cgi
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      1168/mysqld
tcp        0     52 server1.example.com:ssh 192.168.0.198:2462      ESTABLISHED 1557/0
tcp6       0      0 [::]:www                [::]:*                  LISTEN      2987/nginx
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1531/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      1507/exim4
[email protected]:~#

Pada output di atas, PIDnya adalah 1542, jadi kita bisa mematikan proses saat ini sebagai berikut:

kill -9 1542

Setelah itu kita membuat proses spawn-fcgi baru:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

3 Memasang beton5

Akar dokumen situs web www.example.com saya adalah /var/www/www.example.com/web - jika tidak ada, buat sebagai berikut:

mkdir -p /var/www/www.example.com/web

Karena concrete5 hadir sebagai file .zip, kita perlu menginstal unzip:

apt-get install unzip

Selanjutnya kita download concrete5 (http://www.concrete5.org/developers/downloads/) dan letakkan di root dokumen kita:

cd /tmp
mkdir concrete5
cd concrete5
wget -O concrete5.6.0.2.zip http://www.concrete5.org/download_file/-/view/44326/8497/
unzip concrete5.6.0.2.zip
rm -f concrete5.6.0.2.zip
cd concrete5.6.0.2/
mv * /var/www/www.example.com/web/

Direkomendasikan untuk membuat root dokumen dan file concrete5 di dalamnya dapat ditulis oleh daemon nginx yang berjalan sebagai pengguna www-data dan grup www-data:

chown -R www-data:www-data /var/www/www.example.com/web

Jika Anda belum membuat database MySQL untuk concrete5 (termasuk pengguna MySQL concrete5), Anda dapat melakukannya sebagai berikut (saya beri nama database concrete5 dalam contoh ini, dan pengguna disebut concrete5_admin, dan kata sandinya adalah concrete5_admin_password):

mysqladmin -u root -p create concrete5
mysql -u root -p
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5_admin'@'localhost' IDENTIFIED BY 'concrete5_admin_password';
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5_admin'@'localhost.localdomain' IDENTIFIED BY 'concrete5_admin_password';
FLUSH PRIVILEGES;
quit;

Selanjutnya kita buat konfigurasi nginx vhost untuk www.example.com vhost kita di direktori /etc/nginx/sites-available/ sebagai berikut (Saya sudah menyesuaikan lokasi lokasi PHP ~ \.php($|/) {} sesuai ke http://www.justasysadmin.net/en/practical/configuration-concrete-5-nginx/):

vi /etc/nginx/sites-available/www.example.com.vhost
server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://www.example.com$request_uri permanent;
       }

       index index.php index.html index.htm default.html default.htm;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

       location / {
                try_files $uri $uri/ /index.php$request_uri /index.php;
       }

       location ~ \.php($|/) {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock; # use this if PHP-FPM is running on Unix socket /var/run/php5-fpm.sock (Ubuntu 12.10 default)
                #fastcgi_pass 127.0.0.1:9000; # use this if PHP-FPM is running on TCP port 9000 (Debian Squeeze default)
                include /etc/nginx/fastcgi_params;
                fastcgi_index index.php;
                set $script $uri;
                set $path_info "";
                if ($uri ~ "^(.+\.php)(/.+)") {
                        set $script $1;
                        set $path_info $2;
                }
                fastcgi_param URI $uri;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_param SCRIPT_NAME $script;
                fastcgi_param SCRIPT_FILENAME $document_root$script;
       }
}

Untuk mengaktifkan vhost itu, kami membuat symlink ke vhost itu dari direktori /etc/nginx/sites-enabled/:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Muat ulang nginx agar perubahan diterapkan:

/etc/init.d/nginx reload

Sekarang kita dapat meluncurkan penginstal beton5 berbasis web dengan membuka http://www.example.com - pastikan sistem Anda memenuhi semua persyaratan dan klik Lanjutkan ke Instalasi setelahnya:

Selanjutnya tentukan nama situs, alamat email administrator dan kata sandi, dan isi detail database MySQL. Kemudian gulir ke bawah:

Di bagian bawah halaman Anda dapat memilih untuk menginstal beberapa konten demo atau situs kosong. Tentukan pilihan Anda dan klik Instal concrete5:

concrete5 sekarang sedang dipasang:

Setelah instalasi berhasil, Anda akan melihat pesan ini. Klik Lanjutkan ke situs Anda untuk membuka halaman depan concrete5 Anda:

Saat Anda pertama kali mengunjungi halaman depan, ada hamparan Javascript yang berisi beberapa tautan bermanfaat. Anda dapat mengkliknya:

Beginilah tampilan halaman depan Anda (dengan konten demo). URL asli harus bekerja di luar kotak.

Ini adalah dasbor conrete5:

Dan beginilah tampilan situs demo bagi pengunjung biasa:

  • beton5:http://www.concrete5.org/
  • nginx:http://nginx.org/
  • nginx Wiki:http://wiki.nginx.org/
  • Debian:http://www.debian.org/
  • Ubuntu:http://www.ubuntu.com/

Tentang Penulis

Falko Timme adalah pemilik dari Timme Hosting (hosting web nginx ultra-cepat). Dia adalah pengelola utama HowtoForge (sejak 2005) dan salah satu pengembang inti ISPConfig (sejak 2000). Dia juga berkontribusi pada buku O'Reilly "Linux System Administration".


Ubuntu
  1. Cara Menginstal dan Mengkonfigurasi Nginx di Ubuntu 18.04 / Debian 9

  2. Cara Menginstal LEMP di Ubuntu 16.04

  3. Cara Menginstal LEMP di Ubuntu 18.04

  1. Menjalankan TYPO3 6.2 Di Nginx (LEMP) Di Debian Wheezy/Ubuntu 13.10

  2. Cara menginstal TYPO3 7 di Nginx (LEMP) di Ubuntu 15.10

  3. Cara menginstal TYPO3 8.1 dengan Nginx (LEMP) di Ubuntu 16.04

  1. Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) di Ubuntu 14.10

  2. Cara Menginstal LEMP Stack di Ubuntu 20.04

  3. Instal ProjectSend di Ubuntu 20.04 dengan Nginx (LEMP Stack)