Memasang dan mengkonfigurasi lampu debian. Memasang apache dan php pada Debian

Bahagian pertama cerita ini memaparkan salah satu daripada pilihan yang mungkin tetapan antara muka grafik Debian untuk penggunaan yang mudah dan biasa (sudut pandangan subjektif pengarang) oleh seseorang yang datang ke Linux dari Windows. Dan jika untuk menyediakan mesin maya dengan Debian saya hanya menggunakan sistem hos, maka saya secara khusus bekerja hanya dalam mesin maya ini, mencari maklumat di Internet, mengambil nota dalam Notepadqq atau gedit, mendengar muzik melalui Audacious, membuka fail melalui LibreOffice dan seumpamanya. Dengan cara ini, anda boleh membiasakannya dan mempunyai rasa dan penghargaan yang lebih mendalam untuk bekerja dengan sistem pengendalian dan persekitarannya, yang dalam pakej Debian standard agak lengkap dan berfungsi.

Pada masa ini, sistem kami dikonfigurasikan sedemikian rupa sehingga pada masa hadapan anda hanya boleh menggunakan baris arahan dengan editor teks konsol, sebagai contoh, nano atau penggunaan pengurus fail Panglima Berganda dengan editor Notepadqq bersepadu. Ia juga mungkin untuk menggabungkan kedua-dua kaedah ini, contohnya, dengan menavigasi sistem dan mengedit fail konfigurasi melalui pengurus fail, dan semua arahan lain melalui konsol. Semua kaedah adalah setara untuk mencapai hasil akhir.

Matlamat semasa adalah untuk mencipta pelayan, yang mana bahagian ini akan dikhaskan. Pelayan boleh dikonfigurasikan dengan atau tanpa memasang dan menggunakan antara muka grafik. Dalam kes kedua, dari bahagian sebelumnya anda boleh melangkau bahagian berkenaan pemasangan dan konfigurasi perisian untuk antara muka grafik dan konfigurasinya, pemasangan pakej perisian grafik dan vmware-tools.

Saya tidak nampak apa-apa yang salah dengan menggunakan antara muka grafik semasa membuat pelayan: jika ia lebih biasa, mudah dan selesa untuk seseorang membuat pelayan pertama atau kedua dengan persekitaran grafik, mengapa tidak? Lagipun, pelayan web GUI saya bertahan selama setahun dan akan bertahan selama bertahun-tahun yang diperlukan. Walau bagaimanapun, terdapat beberapa perkara yang perlu diingat.

Sebaik-baiknya, sistem yang telah dikonfigurasikan harus berfungsi tanpa campur tangan kami untuk masa yang sangat lama. Pelayan "bersih" saya telah disediakan dalam masa dua hari, dan bekerja tanpa campur tangan selama hampir setahun. Ini bermakna antara muka grafik digunakan untuk 0.05% daripada masa pelayan aktif (komputer hanya berfungsi setengah hari) dan pada masa yang sama menggunakan sumber: Ram, ruang cakera, masa CPU. Adalah lebih baik untuk menggunakan semua sumber ini untuk memastikan fungsi pelayan itu sendiri: contohnya, tingkatkan had_memori untuk PHP atau muatkan lebih banyak data pengguna ke cakera keras. Di samping itu, sekiranya berlaku masalah dan kerosakan semasa bekerja dengan pelayan jauh sebenar, selalunya lebih mudah untuk menggunakan akses SSH. Dalam konteks ini, kehadiran antara muka grafik adalah tidak diingini dan itulah sebabnya pelayan kedua dalam rangkaian saya sudah menjadi mesin maya tanpa persekitaran grafik, di mana hanya perisian grafik dipasang. Panglima Tengah Malam, yang saya gunakan untuk menavigasi sistem fail dan mengedit fail tetapan melalui editor mceditnya. Oleh itu di bawah adalah arahan sejagat: Arahan diberikan dengan penekanan menggunakan baris arahan, tetapi diandaikan bahawa kali pertama pengguna menyediakan mesin dengan persekitaran grafik, itulah sebabnya penyemak imbas digunakan untuk cek tempatan kebolehcapaian tapak yang dicipta dan beberapa ciri untuk menyediakan program e-mel.

Dalam proses mencipta pelayan dan apabila menambah tapak baharu padanya, saya telah mengumpul beberapa Maklumat rujukan, yang mungkin berguna untuk pengguna baru. Saya membentangkannya selepas bahan memasang dan mengkonfigurasi pelayan.

Catatan
Pada Bacaan lanjut dalam pembinaan seperti http:// 127.0.0.1 (https:// 127.0.0.1), ruang selepas http:// (https://) mesti dialih keluar apabila dimasukkan ke dalam bar alamat penyemak imbas. Ruang telah dimasukkan semasa menerbitkan artikel ini untuk menghalang enjin tapak daripada menukar teks secara automatik kepada pautan.

Memasang pelayan web Apache2:

# apt-get install apache2 apache2-doc

Dan itu semua. Kira-kira dua puluh megabait dan pelayan web telah dipasang. Tidak perlu sebarang but semula atau tetapan - pelayan sudah boleh membuka halaman HTML. Walau bagaimanapun, laman web moden di Internet bukan sahaja satu set fail statik, gaya, fon dan perkara lain yang serupa seperti dua puluh tahun yang lalu. Laman web moden mengandungi skrip yang ditulis dalam PHP, dan maklumat dinamik (contohnya, kandungan teks, ulasan, profil pengguna) tidak ditulis dalam fail di sebelah fail PHP, tetapi dalam pangkalan data SQL khas. Untuk pelayan yang lengkap, perlu menyediakan sokongan untuk teknologi ini. Lebih-lebih lagi, ia tidak sukar:

# apt-get install mysql-server mysql-client phpmyadmin
# apt-get install php5 php5-mysql libapache2-mod-php5

Semasa proses pemasangan MySQL, anda akan diminta untuk menetapkan kata laluan superuser mysql dan anda perlu memilih pelayan apache2 untuk mengkonfigurasi kerja dengan mysql secara automatik. Apabila memasang pakej phpmyadmin saya bersetuju dengannya penalaan automatik pakej dan memasukkan kata laluan superuser mysql di mana-mana. Pemasangan PHP berlaku tanpa sebarang gesaan.

Saya tidak menggunakan PHP7 yang lebih pantas atau MariaDB percuma sebagai pengganti sumber terbuka alternatif untuk SQL dan memutuskan untuk membina pelayan saya pada LAMP "kanonikal" = Linux + Apache + MySQL + PHP, menggunakan penyelesaian lama dan terbukti, sekiranya berlaku masalah yang dengannya saya boleh mencari maklumat dengan cepat dan mudah di Internet.

Tiga pasukan (yang sebenarnya boleh digabungkan menjadi satu) dan kami mempunyai pelayan yang lengkap dan moden yang dipasang secara tempatan. Ia agak mudah!

Tetapi menyediakan pelayan memerlukan lebih banyak masa daripada memasang komponennya. Pada mulanya, dalam bahagian ini saya ingin menunjukkan kesilapan biasa saya, cara palsu untuk menyelesaikan masalah dan keputusan yang mereka bawa, tetapi ternyata sepanjang tahun banyak yang dipadamkan dari ingatan saya, banyak yang perlu dipulihkan daripada nota, jadi di bawah hanya arahan kerja dengan ulasan kecil, membolehkan anda mencapai hasil kerja universal.

Menyediakan pelayan web Apache2

Pertama, anda perlu memastikan bahawa pelayan web sedang berjalan. Untuk melakukan ini, anda perlu membuka penyemak imbas anda dan taip alamat http:// 127.0.0.1 (localhost). Halaman web harus dibuka dengan tulisan yang meyakinkan: "Halaman Lalai Debian Apache2. Ia berfungsi!" Pelayan benar-benar berfungsi. Jika anda mempunyai satu set fail tapak dari tahun 2000, maka anda boleh meletakkannya dalam direktori /var/www/html dan ia mungkin akan dibuka pada pelayan kami.

Semua tetapan pelayan web asas disimpan dalam /etc/apache2. Jika anda membuka direktori ini, anda boleh melihat fail konfigurasi utama apache2.conf dan direktori conf-available, mod-available, sites-available. Direktori ini mengandungi fail prakonfigurasi dengan tetapan (dipanggil coretan), yang boleh anda gunakan secara lalai, dengan suntingan anda sendiri atau ambil ia sebagai templat untuk mencipta konfigurasi anda sendiri. Contohnya, dalam direktori tapak yang tersedia terdapat fail konfigurasi hos lalai 000-default.conf. Jika anda membukanya dan mengkajinya, ternyata fail ini menentukan laluan di mana tapak web kami dibuka di http:// 127.0.0.1: "DocumentRoot /var/www/html". Selain itu, baris " "bermaksud jika saya melepaskan mesin saya ke rangkaian tempatan dan mengaksesnya pada port 80 (port untuk HTTP), maka tapak yang terletak di sepanjang laluan /var/www/html akan dibuka kepada saya. Bagaimana anda boleh yakin tentang ini?

Mula-mula anda perlu mengetahui alamat IP yang diberikan kepada mesin maya selepas ia boot. Untuk melihat konfigurasi penyesuai rangkaian mari buat:

# ifconfig

Dalam output maklumat kepada konsol, mudah untuk menentukan bahawa alamat berikut ditetapkan untuk penyesuai eth0:

Inet addr:192.168.233.138

Sekarang pada mesin hos saya membuka alamat http:// 192.168.233.138 dalam penyemak imbas dan mengharapkan halaman biasa dibuka. Tetapi... ia tidak dibuka. Selepas beberapa ketika, penyemak imbas saya berkata: "Sambungan tamat masa." Dan dia menulis dengan betul. Lagipun, pada bahagian pertama saya menghidupkan firewall, tetapi tidak membuka port 80! Mari kita betulkan ini:

# ufw benarkan 80

Kami cuba sekali lagi untuk membuka alamat http:// 192.168.233.138 dan pastikan halaman yang dijangka dibuka. Hos maya dalam mesin maya telah dibuka dari luar semua virtualisasi ini. Kami telah mengambil langkah kecil dalam membina Internet maya kecil kami sendiri.

Selain direktori -available, terdapat juga direktori -enabled, yang mengandungi apa yang sedang "didayakan". Jika anda melihat ke dalamnya, anda akan melihat bahawa direktori ini mengandungi pautan ke fail yang terletak dalam direktori -available. Pada masa ini hanya terdapat satu pautan dalam direktori didayakan tapak - ke fail /etc/apache2/sites-available/000-default.conf. Ini sangat mudah - dengan pintasan kami boleh mengawal mendayakan atau melumpuhkan hos tanpa mengedit fail konfigurasi mereka. Di samping itu, sumber konfigurasi ialah satu fail, tidak kira sama ada konfigurasi ini didayakan sekarang atau tidak, dan ini menghalang ralat apabila sesuatu diperbetulkan dalam satu fail, tetapi terlupa dalam fail lain. Untuk melumpuhkan hos kami, anda perlu memadamkan pintasan yang diperlukan, dan untuk mendayakannya, anda perlu menciptanya. Untuk tidak memadam atau membuat pintasan secara manual, lebih mudah dan lebih dipercayai untuk menggunakan utiliti khas.

Lumpuhkan hos maya:

# a2dissite 000-default

Dayakan hos maya:

# a2enssite 000-lalai

Selepas setiap perubahan, anda perlu memuatkan semula konfigurasi hos atau memulakan semula pelayan:

# perkhidmatan apache2 muat semula

# perkhidmatan apache2 dimulakan semula

Jadi, sekarang kita mempunyai pemahaman asas tentang cara mengkonfigurasi hos biasa dalam apache, dan seterusnya saya akan menunjukkan contoh bagaimana saya mengkonfigurasi pelayan saya untuk berfungsi menggunakan protokol HTTP dan HTTPS.

Kita perlu bermula dengan fakta bahawa apabila anda melumpuhkan hos maya lalai 000, tiada penutupan seperti itu. Iaitu, tapak dibuka dari dalam dan luar mesin maya, dan akan dibuka tanpa mengira sama ada konfigurasinya berada dalam folder yang didayakan tapak. Ia tidak dijangka dan saya menghabiskan masa yang agak lama untuk cuba memahami sama ada saya melakukan atau memahami semuanya dengan betul. Saya belum memahami sepenuhnya perkara ini, nampaknya ini disebabkan oleh fakta bahawa laluan /var/www/html ditetapkan secara global sebagai direktori lalai untuk DocumentRoot. Memandangkan saya tidak mahu apa-apa yang tidak perlu disertakan dan boleh diakses, saya memutuskan untuk membuang direktori html itu sendiri dan menafikan akses kepada semua /var/www bersarang secara lalai.

Untuk mengkonfigurasi hos maya lalai, saya mengedit fail konfigurasinya:

Kandungan fail konfigurasi menjadi seperti berikut:

ServerName localhost ServerAdmin pengguna@localhost DocumentRoot /var/www ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access.log digabungkan
Dengan konfigurasi ini, saya menetapkan semula direktori lalai kepada /var/www, membenarkan pelayan mengikuti pautan simbolik dalam direktori ini, membenarkan pelayan melaksanakan semua arahan yang diisytiharkan dalam fail .htaccess yang ditemui dan menafikan akses kepada direktori ini. Logik tindakan ini adalah supaya saya boleh mengawal akses kepada direktori ini tanpa mengakses tetapan pelayan web sama sekali dan tanpa but semula. Sekarang kita perlu menguji penyelesaian ini.
Pindahkan fail:

# mv /var/www/html/index.html /var/www/index.html

Dan padam direktori:

# rm /var/www/html

Mulakan semula pelayan untuk tetapan hos maya lalai baharu berkuat kuasa:

# perkhidmatan apache2 dimulakan semula

Buat fail:

# nano /var/www/.htaccess

Di mana kami menulis satu baris (tanpa petikan): "Memerlukan semua diberikan."

Mari kita ringkaskan. Kini tiada laluan /var/www/html, tetapi hos secara lalai dikonfigurasikan semula ke laluan /var/www, di mana fail index.html terletak, dan secara lalai, pada peringkat pelayan web, akses kepada direktori ini ditolak, tetapi kandungannya dibenarkan secara setempat iaitu fail .htaccess yang terletak di sana.

Kami membuka http:// 127.0.0.1 dalam penyemak imbas dan melihat halaman yang sudah biasa "Apache2 Debian Default Page. Ia berfungsi". Sekarang mari kita semak kefungsian kawalan akses "tempatan":
Padamkan fail .htaccess:

# rm /var/www/.htaccess

Dan kemas kini dalam penyemak imbas muka surat- halaman dengan pemberitahuan tentang sekatan akses (Dilarang) harus dibuka. Ya, semuanya berfungsi, ini bermakna semuanya telah dilakukan dengan betul.

Pada dasarnya, tetapan mudah ini cukup untuk operasi bebas masalah pelayan web selanjutnya. Tetapi ini nampaknya tidak mencukupi bagi saya. Pada masa ini pelayan web kami hanya boleh berfungsi menggunakan protokol HTTP. Tetapi bagaimana dengan protokol HTTPS? Lagipun, jika pada masa akan datang kami melancarkan projek berdasarkan pelayan web ini di Internet, maka keupayaan untuk bekerja menggunakan protokol ini sekurang-kurangnya wajar. Dan saya memutuskan untuk mengatur sokongan HTTPS berdasarkan membuat sijil SSL yang ditandatangani sendiri.

Mula-mula anda perlu mendapatkan sijil SSL, yang akan dipasang pada pelayan kami. Kami tidak mempunyai sebarang domain, dan pada asasnya kami juga tidak mempunyai alamat IP statik. Tetapi semua ini tidak penting, kerana saya akan menjana sijil itu sendiri, menggunakan alat sistem saya.

Perhatian! Arahan di bawah menganggap bahawa pelayan dipasang pada mesin "tidak dinamakan". Jika ada IP sebenar atau Nama domain, maka mereka perlu ditunjukkan di TIGA tempat: ; ; - dalam pembinaan yang sepadan, gantikan IP/Domain dengan alamat IP atau nama domain. Dalam teks di bawah, localhost digunakan dan bukannya IP/Domain.

Mari jana sijil SSL:

# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

Perintah ini akan mencipta sijil standard X.509 yang ditandatangani sendiri serta-merta selama 10 tahun, melangkau pilihan untuk melindungi sijil dengan frasa laluan - ini perlu supaya apabila pelayan Apache bermula, ia boleh membaca fail tanpa campur tangan pengguna , kerana telah menetapkan kata laluan, anda perlu memasukkannya selepas setiap but atau but semula pelayan. Bersama sijil, kunci RSA 2048-bit baharu akan dibuat, yang akan digunakan untuk menandatangani sijil. Pilihan –keyout dan –out menentukan laluan di mana OpenSSL harus menjana kunci dan sijil.

Semasa proses penciptaan sijil, soalan akan ditanya, yang mana saya telah memberikan maklumat berikut:

Nama Negara = MW
Nama Negeri atau Wilayah = Sistem Matahari
Nama Tempatan = Lunar
Nama Organisasi = Hellium Inc.
Nama Unit Organisasi = 2
Nama Biasa = localhost
Alamat E-mel = pengguna@localhost

Seterusnya, anda perlu mencipta kunci Diffie-Hellman untuk menyokong PFS:

# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Titik dan tanda tambah akan muncul di terminal, dan selepas tamat kartun, anda boleh mencipta fail ssl-params.conf, di mana parameter SSL untuk pelayan akan ditakrifkan:

# nano /etc/apache2/conf-available/ssl-params.conf

Untuk persediaan yang selamat dan terkini, saya menggunakan kod yang dijana dalam penjana konfigurasi SSL di mozilla.github.io. Dalam penjana, saya memilih pelayan Apache2, profil Moden dan menetapkan pelayan dan versi OpenSSL dengan betul, yang boleh didapati menggunakan arahan berikut:

# apache2 -v
# versi openssl

Akibatnya, saya mendapat teks berikut:

# 01-14-2018 / untuk apache2 2.4.10 & openssl 1.0.1t # daripada https://mozilla.github.io/server-side-tls/ssl-config-generator/ # bantuan parameter: https://raymii .org/s/tutorials/Strong_SSL_Security_On_Apache2.html # konfigurasi moden, ubah suai kepada keperluan anda SSLProtocol semua -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA3-AGEC4:ECDHE-RSA3-AGEC -ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES384:-ECSHAES384:-ECSHAES384:-ECDHE :ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 SSLHonorCipherOrder pada SSLCompression dimatikan # OCSP Stapel, hanya dalam httpd 2.3.3 dan kemudian SSLUseStapling pada SSLStaplingResponderTimeout 5 SSLStapling/SsstaplingReturnStaplingStapling/SSL1b/sstaplingoffStapling 28000)
Sekarang mari kita konfigurasikan hos maya dengan sokongan SSL:

Saya telah memberikan teks fail ini kepada pandangan seterusnya:

ServerAdmin pengguna@localhost ServerName localhost DocumentRoot /var/www Pilihan FollowSymLinks AllowOverride All Memerlukan semua ditolak SSLOptions +StdEnvVars SSLOptions +StdEnvVars
Daripada perkara di atas, kami juga mempunyai /var/www yang ditakrifkan sebagai direktori DocumentRoot, akses yang dikonfigurasikan dengan cara yang sama seperti tetapan sebelumnya. Mekanisme HSTS didayakan, yang membantu memaksa sambungan diwujudkan melalui protokol HTTPS. Sokongan untuk SSL disertakan, menunjukkan sijil dan kunci yang digunakan, dan sokongan untuk memproses data sijil dalam skrip PHP dan CGI juga didayakan. Bahagian terakhir direka untuk memastikan keserasian dengan versi pelayar yang lebih awal internet Explorer dan, secara amnya, tidak perlu.

Sekarang mari kita buat sentuhan terakhir.

Mari buka port untuk SSL:

# ufw benarkan 443

Mari kita dayakan modul apache untuk menyokong SSL dan HSTS:

# a2enmod ssl
# pengepala a2enmod

Mari dayakan konfigurasi SSL:

# a2enconf ssl-params

Mari dayakan hos maya dengan sokongan SSL:

# a2ensite default-ssl

Mari mulakan semula pelayan untuk menerima semua tetapan baharu:

# perkhidmatan apache2 dimulakan semula

Kini tiba saat yang menarik - menguji kefungsian fungsi baharu sistem yang dikonfigurasikan.

Buat fail:

# nano /var/www/.htaccess

Buka https:// 127.0.0.1 dalam penyemak imbas. Halaman tentang sijil yang tidak diketahui harus dibuka, selepas menerima yang mana (satu kali atau kebenaran kekal) halaman yang sudah biasa akan dibuka dengan pemberitahuan tentang pelayan web yang sedang berjalan.

Padamkan fail .htaccess:

# rm /var/www/.htaccess

Dan kami menyegarkan halaman yang terbuka dalam penyemak imbas - halaman dengan pemberitahuan tentang sekatan akses (Dilarang) harus dibuka. Semuanya berfungsi dengan betul. Kini tapak kami tersedia melalui HTTP dan HTTPS.

Akses HTTP boleh dibiarkan didayakan, dilumpuhkan atau dipaksa untuk mengubah hala ke HTTPS.

Untuk mendayakan akses HTTP, anda tidak perlu melakukan apa-apa, kerana pelayan memproses permintaan untuk port 80 dan 443 secara individu dan tapak kami dalam folder /var/www akan dibuka melalui HTTP dan HTTPS.

Untuk melumpuhkan akses HTTP, hanya lumpuhkan hos maya yang sepadan dan mulakan semula pelayan web:

# a2dissite 000-default
# perkhidmatan apache2 dimulakan semula

Sekarang, jika anda membuka http:// 127.0.0.1 dalam penyemak imbas, halaman harus dibuka dengan pemberitahuan tentang ketiadaan halaman (Tidak Ditemui).

Pilihan ketiga yang paling menarik. Dalam kes ini, HTTP secara rasmi kekal didayakan, tetapi pemprosesan data akan dipaksa untuk diubah hala melalui HTTPS.

Untuk melakukan ini, mula-mula dayakan modul ubah hala:

# a2enmod tulis semula

Sekarang mari buka fail 000-default.conf:

# nano /etc/apache2/sites-available/000-default.conf

Dan sebelum teg penutup, tambahkan teks berikut:

RewriteEngine On RewriteCond %(HTTPS) off RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)
Mari mulakan semula pelayan:

# perkhidmatan apache2 dimulakan semula

Mari buat fail:

# nano /var/www/.htaccess

Di mana kami menulis satu baris: "Memerlukan semua diberikan".

Sekarang, jika kami membuka alamat http:// 127.0.0.1 dalam penyemak imbas, kami akan dialihkan secara automatik ke https:// 127.0.0.1 dengan amaran tentang sijil yang tidak diketahui (jika ia tidak ditambahkan pada senarai pengecualian sebelum ini dalam penyemak imbas), selepas menerima yang mana yang sudah biasa akan membuka halaman dengan pemberitahuan tentang pelayan web yang sedang berjalan.

Tetapan SQL

Untuk persediaan awal mysql hanya jalankan arahan berikut:

# mysql_secure_installation

Selepas memasukkan kata laluan superuser mysql, saya menjawab soalan yang ditanya dalam susunan berikut:

  • enggan menukar kata laluan akar;
  • pemadaman disahkan pengguna tanpa nama daripada pangkalan data;
  • Disahkan menyekat sambungan jauh untuk root (atas sebab keselamatan, biarkan root bersambung hanya secara setempat);
  • mengesahkan pemadaman pangkalan data ujian;
  • bersetuju dengan memuatkan semula jadual keistimewaan.
Untuk menyemak fungsi mysql, anda boleh menjalankan arahan berikut:

# mysql -uroot -p

Selepas memasukkan kata laluan superuser mysql, kami melihat gesaan mysql - yang bermaksud perkhidmatan sedang berjalan dan berjalan. Anda boleh keluar dari terminal mysql dengan memasukkan arahan "keluar".

Untuk menyemak kefungsian phpmyadmin, buka alamat http:// 127.0.0.1/phpmyadmin dalam pelayar. Jika halaman dibuka dengan jemputan untuk log masuk ke phpmyadmin, maka perkhidmatan itu sedang berjalan dan berjalan.

Persediaan PHP

Selepas memasang PHP, saya membuka fail tetapannya:

# nano /etc/php5/apache2/php.ini

Dan saya membawa beberapa parameter ke bentuk berikut:

  • had_memori = 1024M
  • default_charset = "UTF-8"
  • upload_max_filesize = 256J
  • sendmail_path = /usr/bin/fake_sendmail.sh
Menggunakan modul PHP, anda boleh menyediakan caching data dalam memori. Caching berguna apabila beban yang tinggi kepada pelayan untuk data yang penjanaannya memerlukan sejumlah besar sumber, contohnya, hasil pertanyaan pangkalan data atau pemprosesan kepingan "berat" templat tapak web. Saya memilih modul memcached sebagai pelayan caching.

Memasang memcache:

# apt-get install memcached php5-memcached

Mari lihat tetapan konfigurasi perkhidmatan:

# nano /etc/memcached.conf

Dalam tetapan, saya meningkatkan saiz memori yang digunakan untuk caching: -m 64 -> -m 256. Dan menyemak kehadiran mod operasi hanya dalam zon tempatan: -l 127.0.0.1.

Mulakan semula perkhidmatan caching dan pelayan web:

# perkhidmatan memcached mulakan semula
# perkhidmatan apache2 dimulakan semula

Kini anda perlu memastikan perkhidmatan tersebut berfungsi. Untuk melakukan ini, buat fail:

# nano /var/www/info.php

Dan tambahkan teks berikut padanya:


Jangan lupa untuk menyemak kehadiran fail .htaccess dalam direktori /var/www dengan kandungan kebenaran yang sesuai; jika ia tiada, buatnya.

Kini anda boleh membuka http:// 127.0.0.1/info.php dalam penyemak imbas anda - halaman dengan maklumat tentang PHP akan dibuka, di mana anda perlu menyemak kehadiran bahagian memcached. Jika jadual muncul, PHP berfungsi.

Anda boleh menyemak perkhidmatan memcached yang sedang berjalan seperti ini:

$ ps -aux | grep memcached

Terminal harus mengembalikan baris yang mengandungi tetapan memcached.

Mencipta stub mel untuk PHP

Pada Tetapan PHP Skrip shell telah ditentukan sebagai parameter sendmail_path. Fungsi skrip ini adalah untuk menyimpan e-mel yang dihantar melalui fungsi standard mel php(), pada mesin tempatan, dalam beberapa folder yang mudah, dan bukannya menghantarnya ke suatu tempat.

Mari buat fail:

# nano /usr/bin/fake_semdmail.sh

Dengan kandungan berikut:

#!/bin/sh prefix="/var/mail/sendmail/new" numPath="/var/mail/sendmail" jika [ ! -f $numPath/num ]; kemudian echo "0" > $numPath/num fi num=`cat $numPath/num` num=$(($num + 1)) echo $num > $numPath/num name="$prefix/letter_$num.txt " semasa membaca baris lakukan echo $line >> $name done chmod 777 $name /bin/true
Mari jadikan fail ini boleh laku:

# chmod +x /usr/bin/fake_semdmail.sh

Mari buat direktori yang diperlukan yang mungkin diperlukan jika anda menyediakan koleksi surat melalui program mel anda:

# mkdir /var/mail/sendmail /var/mail/sendmail/cur /var/mail/sendmail/new /var/mail/sendmail/tmp

Dan berikan hak supaya pelayan boleh menulis fail dalam folder ini:

# chmod 777 -R /var/mail/sendmail

Sekarang semua surat keluar akan disimpan dalam /var/mail/sendmail. Ia boleh dilihat dengan editor teks, atau ia boleh dikumpulkan menggunakan program e-mel. Perisian Debian diprapasang dengan: pelanggan mel Evolusi. Semasa menyediakan akaun, anda perlu memilih "Direktori mel dalam format Maildir" sebagai jenis pelayan dan tentukan laluan ke direktori mel (/var/mel/sendmail), dan tentukan "Sendmail" sebagai pelayan.

Semua. Secara umum, kami telah selesai dengan pelayan - kami mempunyai mesin maya universal yang berasaskannya kami boleh membina perkhidmatan rangkaian kami sendiri. Saya meninggalkan kedua-dua HTTP dan Akses HTTPS. Walau bagaimanapun, selepas anda memperoleh pengalaman dalam membuat dan mengkonfigurasi pelayan, serta menambah tapak (lihat di bawah) padanya, saya akan mengesyorkan membuat mesin maya dengan pelayan tanpa antara muka grafik sebagai lebih optimum dari segi penggunaan sumber.

Menyediakan akses SSH

Pelayan tidak akan menjadi pelayan penuh tanpa akses melalui SSH. Apa yang dipanggil "shell" membolehkan anda menyambung dengan cepat dan selamat ke pelayan jauh Menggunakan, sebagai contoh, program kecil yang dipanggil putty, pada komputer tempatan kita mendapat akses terus ke terminal pelayan jauh.

Pemasangan perkhidmatan:

# apt-get install ssh

Mari buka port untuk SSH (sebenarnya, port lalai hendaklah nombor 22, tetapi di bawah saya telah mengatasi port dalam konfigurasi SSH):

# ufw benarkan 106

Untuk mengatur akses untuk pengguna pengguna kami, kami perlu membuka fail:

# nano /etc/ssh/sshd_config

Dan tambah arahan ke penghujung fail:


Selain itu, untuk tujuan keselamatan, saya membuat perubahan berikut pada fail ini:
  • menukar port daripada 22 kepada beberapa port lain (senarai port): Port 22 -> Port 106
  • melumpuhkan protokol warisan: Protokol 2.1 -> Protokol 2
  • kurang upaya akses jauh untuk root: PermitRootLogin ya (atau PermitRootLogin tanpa kata laluan) -> PermitRootLogin tidak
Kemudian kami memulakan semula perkhidmatan:

# perkhidmatan sshd dimulakan semula

Sekarang saya boleh berlari program dempul pada mesin hos dan sambung ke pelayan anda dalam mod konsol dengan memasukkan alamat sambungan 192.168.233.138, port 106 dan pengguna nama pengguna. Apabila menyambung, anda mesti menjawab secara afirmatif untuk menerima kunci dan memasukkan pengguna kata laluan pengguna. Jika anda perlu melaksanakan arahan sebagai pengguna super, anda boleh menggunakan arahan su yang sudah terkenal.

Perlindungan akses

Saya tidak peduli untuk melindungi pelayan web daripada DDoS, pada mulanya percaya bahawa jika ia dihoskan pada VPS/VDS, maka pengehosan akan memberikan perlindungan yang berkesan, dan jika anda membuat pelayan anda "melekat" ke Internet, maka isu ini perlu ditangani dengan serius dan ini adalah artikel berasingan topik. Perlindungan terhadap DDoS HTTP Lambat agak mudah dilakukan, mengikut banyak arahan di Internet, tetapi ia tidak akan menyelamatkan anda daripada serangan teragih yang dilakukan daripada banyak alamat IP yang berbeza.

Dengan DDoS, pelayan kami hanya akan berhenti berfungsi untuk seketika. Tetapi selepas serangan yang tidak akan kekal selama-lamanya, pelayan akan dipulihkan. Tetapi jika seseorang berjaya mendapatkan akses melalui SSH, maka kawalan ke atas pelayan akan hilang, dan data di atasnya akan terjejas, jadi mengawal akses kepada pelayan melalui SSH adalah idea yang baik.

Perkara paling mudah dan paling cetek yang boleh anda lakukan ialah menukar port standard, yang kami lakukan ketika itu menyediakan SSH. Kira-kira lima tahun yang lalu saya "mempamerkan" baru sahaja mencipta pelayan ini ke Internet menggunakan alamat IP sebenar yang diterima baru-baru ini dan terkejut bahawa semasa minggu kewujudan pelayan, yang belum ada yang tahu apa-apa lagi, log sistem telah terkumpul sejumlah besar rekod percubaan kebenaran yang tidak berjaya melalui SSH dan FTP. Jelas sekali bahawa dalam internet moden Terdapat sejumlah besar perkhidmatan robot yang mencari komputer dengan pelabuhan terbuka dan cuba sambungkan kepada mereka dengan mencuba kata laluan daripada pangkalan data sedia ada atau menggunakan kaedah brute-force.

Nasib baik bagi kami, terdapat perkara seperti fail2ban:

# apt-get install fail2ban

Sejurus selepas pemasangan, utiliti sudah dikonfigurasikan untuk melindungi kebanyakan port, dan jika lebih daripada enam percubaan sambungan gagal muncul dalam log sistem dalam sepuluh minit, penceroboh akan disekat selama sepuluh minit. Mekanisme cara fail2ban berfungsi agak mudah - pencetus tertentu mencetuskan apa yang dipanggil penjara, yang menentukan tindakan yang bertujuan untuk melindungi aplikasi.

Parameter penyekatan boleh ditetapkan secara individu:

# nano /etc/fail2ban/jail.local

Dalam fail yang dibuat, anda perlu menentukan tetapan yang akan menggantikan tetapan lalai. Contoh kandungan fail saya:

# Tetapan umum
ignoreip = 127.0.0.1
bantime = 2592000
masa carian = 43200
maxretry = 6
banaction = iptables-multiport
# menyediakan penghantaran mesej melalui e-mel
destemail = pengguna@localhost
nama penghantar = Fail2Ban
mta = hantar mel
tindakan = %(action_mwl)s

# Keselamatan SSH
didayakan = benar
pelabuhan = 106
penapis = sshd
logpath = /var/log/auth.log

# mengesan percubaan kata laluan yang gagal
didayakan = benar
port = http,https
penapis = apache-auth

# mengenal pasti imbasan berpotensi untuk eksploitasi dan kelemahan php
didayakan = benar
port = http,https
penapis = apache-noscript
logpath = /var/log/apache*/*error.log

# mengesan percubaan untuk melimpah Apache
didayakan = benar
port = http,https
penapis = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 2

# mengesan percubaan carian yang tidak berjaya direktori rumah pada pelayan
didayakan = benar
port = http,https
penapis = apache-nohome
logpath = /var/log/apache*/*error.log
maxretry = 2

Tetapan di atas membolehkan anda untuk tidak mengawal akses tempatan, dan dengan enam percubaan log masuk yang salah dalam masa 12 jam, ia melarang alamat IP penyerang menggunakan iptables selama 30 hari. Bukan sahaja akses melalui port SSH dikawal, tetapi juga tindakan mencurigakan yang bertujuan untuk menjejaskan kestabilan operasi pelayan web.

Rujukan Pelayan Web

Memulakan, menghentikan dan but semula pelayan:

# perkhidmatan apache2 bermula
# perkhidmatan apache2 berhenti
# perkhidmatan apache2 dimulakan semula

# perkhidmatan apache2 muat semula

Mendayakan dan melumpuhkan ujian hos:

# ujian a2ensit
# ujian a2dissite

Mendayakan dan melumpuhkan konfigurasi ujian:

# ujian a2enconf
# ujian a2disconf

Menyemak sintaks fail (harus kembali: "Sintaks OK"):

# apache2ctl configtest

Pilihan untuk menambah tapak dengan akses melalui HTTP atau HTTPS menggunakan hos maya sedia ada

Katakan kita perlu menambah tapak web baharu pada pelayan kami, yang terletak dalam direktori site.com, yang terletak di /home/user/www. Ini boleh menjadi mudah kerana pengguna tidak perlu meninggalkan direktori rumahnya apabila bekerja dengan tapak tersebut.

# chmod 755 /home/user

Buat direktori untuk tapak:

$ mkdir /home/user/www /home/user/www/site.com

Untuk menambah akses HTTP, buka fail:

# nano /etc/apache2/sites-available/000-default.conf

Atau untuk menambah akses melalui HTTPS, buka fail:

# nano /etc/apache2/sites-available/default-ssl.conf

Dan tambahkan kandungan berikut pada fail terbuka sebelum teg penutup /VirtualHost:


Mulakan semula pelayan web:

# perkhidmatan apache2 dimulakan semula

Kami menyemak ketersediaan tapak di http:// 127.0.0.1/site.com atau https:// 127.0.0.1/site.com (kaedah menyemak - lihat di bawah). Sila ambil perhatian bahawa tapak akan dibuka tanpa mengira kehadiran fail .htaccess, kerana arahan "Memerlukan semua diberikan" ditetapkan untuk direktori dengan tapak.

Pilihan untuk menambah tapak dengan akses melalui HTTP atau HTTPS menggunakan hos maya baharu dan menyediakan akses kepada tapak melalui nama domainnya, bukan IP

Keadaan masalah adalah sama seperti di atas: katakan kita perlu menambah tapak web baharu pada pelayan kami, yang terletak dalam direktori site.com, yang terletak di /home/user/www. Tetapi sekarang saya juga ingin mengakses tapak dengan memasukkan hanya nama domainnya ke dalam baris pelayar.

Kami menetapkan hak untuk direktori pengguna (untuk berjaga-jaga):

# chmod 755 /home/user

Buat direktori untuk tapak:

$ mkdir /home/user/www/site.com

# ln -s /home/user/www/site.com /var/www/site.com

Untuk menambah akses melalui HTTP, buat fail:

# nano /etc/apache2/sites-available/site.com.conf

Pilihan FollowSymLinks AllowOverride All Memerlukan semua diberikan# Ubah hala HTTP->HTTPS #RewriteEngine On #RewriteCond %(HTTPS) off #RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI) ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access .log digabungkan
Atau untuk menambah akses melalui HTTPS, buat fail:

# nano /etc/apache2/sites-available/site.com-ssl.conf

Dan tambahkan kandungan berikut padanya:

SiteName Server.com ServerAlias ​​​​www.site.com ServerAdmin user@localhost DocumentRoot /var/www/site.com Pilihan FollowSymLinks AllowOverride All Memerlukan semua diberikan# HSTS (mod_headers diperlukan) (15768000 saat = 6 bulan) Pengepala sentiasa menetapkan Strict-Transport-Security "max-age=15768000" ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access.log combined SSLEngine SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE " ssl-unclean-shutdown
Dalam /etc/hosts tambah baris "127.0.0.1 site.com":

# echo >> /etc/hosts 127.0.0.1 site.com

Aktifkan hos HTTP:

# a2ensitesite.com.conf

Atau aktifkan hos HTTPS:

# a2ensite site.com-ssl.conf

Mulakan semula pelayan web:

# perkhidmatan apache2 dimulakan semula

Kami menyemak ketersediaan tapak di http:// site.com atau https:// site.com (kaedah menyemak – lihat di bawah). Sila ambil perhatian bahawa tapak akan dibuka tanpa mengira kehadiran fail .htaccess, kerana arahan "Memerlukan semua diberikan" ditetapkan untuk direktori dengan tapak.

Semua tindakan dilakukan di dalam mesin maya tetamu. Menarik untuk "membuka" tapak dalam penyemak imbas sistem hos. Ia tidak sukar. Kami tahu nama domain dan alamat IP mesin tetamu. Jika sistem hos ialah Windows, maka anda perlu membuka fail c:\Windows\System32\drivers\etc\hosts dan tambah baris berikut pada penghujungnya:


Selepas perubahan ini, komputer atau sistem hos perlu dibut semula. Sekarang, apabila anda membuka site.com dalam penyemak imbas anda, akses kepadanya akan diubah hala ke mesin maya kami. Malah, kami melakukan penghalaan paling mudah dalam kami internet peribadi di peringkat tuan rumah sistem operasi.

Jika anda memerlukan akses kepada hos maya hanya melalui HTTPS, tetapi tidak mahu kehilangan sambungan melalui HTTP, anda boleh mengkonfigurasi ubah hala:

Cipta fail /etc/apache2/sites-available/site.com.conf mengikut arahan di atas, jika ia belum dibuat
- dalam fail /etc/apache2/sites-available/site.com.conf nyahkomen tiga baris RewriteEngine/RewriteCond/RewriteRule
- aktifkan hos site.com.conf jika ia tidak diaktifkan
- mulakan semula pelayan: # perkhidmatan apache2 mulakan semula

Menyemak kefungsian tapak tambahan

Cara paling mudah untuk menyemak kebolehcapaian tapak ialah meletakkan fail index.html dengan beberapa kandungan dalam direktori akarnya.

Buat fail index.html:

$ nano /home/user/www/site.com/index.html

Dan tambahkan kandungan berikut padanya:

UJIAN OK

UJIAN OK




Bergantung pada kaedah menambah tapak, buka alamat http:// 127.0.0.1/site.com (https:// 127.0.0.1/site.com) atau http:// site.com (https:// site. .com) dalam penyemak imbas anda ) - halaman yang mengandungi teks “TEST OK” harus dibuka.

Bahan Rujukan MySQL

Mencipta pengguna user123 dengan kata laluan pass123 dan pangkalan data db123 melalui konsol.

Log masuk ke mysql dengan memasukkan kata laluan superuser mysql apabila digesa:

# mysql -u root -p

Dan buat pangkalan data (tidak perlu menaip awalan "mysql>", koma bertitik di hujung diperlukan):

mysql> CIPTA PANGKALAN DATA `db123`;

Cipta user123 dengan kata laluan pass123:

mysql> CIPTA PENGGUNA "user123"@"localhost" DIKENAL PASTI OLEH "pass123";

Berikan keistimewaan kepada pengguna pada pangkalan data:

mysql> BERIKAN SEMUA KEISTIMEWAAN PADA `db123`.* KEPADA "user123"@"localhost";

Kemas kini jadual keistimewaan:

mysql> KEISTIMEWAAN FLUSH;

Keluar dari mysql:

mysql> keluar

Untuk menyemak, buka alamat http:// 127.0.0.1/phpmyadmin dan log masuk dengan kelayakan akses user123/pass123. Anda sepatutnya boleh mengakses pangkalan data db123.

Menukar kata laluan untuk root mysql daripada pass123 kepada pass456:

# mysqladmin -uroot -ppass123 kata laluan pass456

Menukar kata laluan user123 daripada pass123 kepada pass456:

# mysqladmin -uuser123 -ppass123 kata laluan pass456

Mengalih keluar pengguna123:

mysql> DROP USER "user123"@"localhost";

Menjatuhkan jadual db123:

mysql> DROP DATABASE `db123`;

Bahan rujukan fail2ban

Memulakan semula perkhidmatan:

#service fail2ban dimulakan semula

Menyemak peraturan berjalan:

# fail2ban-status pelanggan

Statistik terperinci untuk peraturan sshd:

# fail2ban-status pelanggan ssh

Menyahlarang:

# fail2ban-client set ssh unbanip Banned_IP

Dalam tutorial ini, anda akan belajar cara memasang Apache, MariaDB dan PHP7 (tindanan LAMP) pada regangan Debian 9. LAMP ialah tindanan perkhidmatan web yang paling biasa untuk membina tapak web dinamik dan aplikasi web.

Ia terdiri daripada empat komponen: Linux, Apache, MySQL/MariaDB, PHP - Linux ialah sistem pengendalian; Apache ialah pelayan web; MySQL/MariaDB ialah pangkalan data; PHP ialah bahasa skrip sebelah pelayan.

sama sekali, Pemasangan LAMPU dalam Debian 9, seperti dalam pengedaran berasaskan Linux yang lain, ia sangat mudah. Terutama jika anda biasa dengan pembinaan pasukan. Kami akan memberitahu anda segala-galanya dengan terperinci supaya seorang pemula pun dapat mengatasinya.

Memasang LAMP pada Debian 9

Keempat-empat komponen adalah percuma dan terbuka kod sumber. Walau bagaimanapun, memandangkan MySQL kini dimiliki oleh Oracle dan terdapat kemungkinan Oracle akan mengubahnya menjadi produk sumber tertutup, kami akan memilih MariaDB berbanding MySQL. Anda boleh mengikuti tutorial ini pada VPS (Virtual Private Server) atau pada mesin tempatan yang menjalankan Debian 9.

Sila ambil perhatian bahawa apabila memasang perisian pada Debian anda perlu mempunyai keistimewaan root. Anda boleh menambah sudo pada permulaan arahan atau menggunakan arahan su untuk bertukar kepada root.

Langkah 1: Kemas kini pakej perisian

LAMP (timbunan pelayan) bermaksud Linux, Apache, MySQL dan PHP; empat popular komponen perisian Sumber terbuka, digunakan oleh kebanyakan hos web, pembangun web, blog dan lain-lain. Kami telah menyediakan panduan untuk menyediakan pelayan web anda untuk persekitaran ujian versi terkini Debian. Secara umum, memasang LAMP dalam Debian 9 adalah sangat mudah, perkara utama ialah memahami fungsi asas.

MariaDB menggantikan pelayan MySQL sebagai pangkalan data lalai dalam Debian 9.

Pasang Linux:
tentang apa yang baik, menarik dan inovatif yang dibentangkan dalam Debian 9. Ini adalah syarat utama untuk memasang semua yang lain. Kami juga mengesyorkan agar anda membaca panduan lain di tapak. Sebagai contoh, kami telah pun bercakap tentang sistem Ubuntu anda.

Sekarang kita akan beralih kepada memasang AMP ( versi Apache 2, PHP versi 7, versi MariaDB 10.2) pada Debian 9. Jadi mari kita pasang satu persatu.

Pasang Pelayan HTTP Apache:
Untuk memulakan, kami akan memasang pelayan web Apache. Buka terminal dan kemudian tukar kepada pengguna root.

Kemas kini indeks repositori pakej.

Nama pakej pelayan web Apache ialah apache2. Pasang pakej apache2 menggunakan arahan apt-get.

apt-get -y pasang apache2

Menguruskan Pelayan HTTP Apache:

Untuk memulakan pelayan Apache2, jalankan.

systemctl mulakan apache2.service

Untuk menghentikan pelayan Apache2, mulakan.

systemctl hentikan apache2.service

Untuk memulakan semula pelayan Apache2, jalankan.

Untuk menyemak status pelayan Apache2, jalankan.

status systemctl apache2.service

Firewall:

benarkan Pelayan HTTP Apache melalui tembok api.

ufw benarkan 80/tcp

ufw benarkan 443/tcp

Menguji Pelayan HTTP Apache:

Sekarang kita akan menyemak pelayan web Apache untuk melihat sama ada ia berfungsi dengan betul atau tidak. Buka mana-mana pelayar web dan kemudian navigasi ke URL berikut.

HTTP://localhost/
ATAU

Http://your-f-add-on ssg/
Anda akan mendapat halaman "Apache2 Debian Default", halaman lalai ini mengesahkan bahawa pelayan HTTP Apache berfungsi dengan baik.

Memasang pelayan MySQL (MariaDB):
MariaDB ialah pengganti pelayan MySQL yang dibangunkan oleh pembangun MySQL asal untuk kekal sebagai RDBMS sumber terbuka. MariaDB kini adalah salah satu yang paling banyak pelayan popular pangkalan data di dunia.

Untuk memasang MariaDB jalankan arahan berikut

apt-get -y install mariadb-server

Perintah ini membolehkan anda meningkatkan keselamatan pemasangan MariaDB anda dengan cara berikut:

Awak boleh pasang kata laluan untuk akaun root.

Anda boleh mengehadkan akaun root kepada localhost.

Anda boleh memadamkan akaun pengguna tanpa nama.

Anda boleh mengalih keluar pangkalan data ujian dan keistimewaan yang membenarkan sesiapa sahaja mengakses pangkalan data dengan nama bermula dengan test_.

Pasang PHP:
Secara lalai pelayan Apache hanya menyokong .html dan bukan PHP, untuk ini anda perlu memasang pek sambungan PHP dan php untuk pelayan MariaDB. Di sini kami akan memasang PHP 7 pada Debian 9.

apt-get -y pasang php php-mysql

Selepas memasang pakej PHP, anda perlu memulakan semula pelayan HTTP Apache.

systemctl mulakan semula apache2.service

Ujian PHP:

Gunakan editor VI untuk mencipta fail info.php.

vi /var/www/html/info.php

Perintah vi ini akan membuka fail bernama info.php. Salin/Tampal baris di bawah ke dalam fail info.php:

Simpan dan tutup fail menggunakan Esc +: wq.

Sekarang buka pelayar internet anda dan masukkan URL berikut ke dalam alamat web.

Http://localhost/info.php

Http://your-ip-add-ress/info.php
Halaman akan kelihatan seperti ini:

Memasang LAMP dalam Debian 9, seperti yang kami katakan di atas, ternyata sangat mudah. Kami harap anda cepat memahami nilai asas semasa pemasangan. Tetapi jika anda mempunyai soalan, pastikan anda bertanya kepada mereka dalam komen.

kesimpulan

Itu sahaja! Tahniah, anda telah berjaya memasang LAMP pada Debian 9. Jika anda mendapati artikel ini membantu, jangan lupa kongsikan pautannya.

Jika anda mendapati ralat, sila serlahkan sekeping teks dan klik Ctrl+Enter.

Beberapa jam yang lalu, mengenai hosting yang hebat DigitalOcean. Jika anda berminat dan ingin mencubanya dalam tindakan, maka anda perlu membuat yang pertama titisan dan pasang/konfigurasikan semua komponen pelayan yang diperlukan ( Apache, MySQL, PHP). Dalam siaran ini saya ingin memberitahu anda cara memasang dan mengkonfigurasi kombinasi yang popular untuk semua penyedia pengehosan dengan betul: Apache, MySQL Dan PHP(LAMPU). Nota itu ditujukan kepada pendatang baru dalam dunia Linux.

Mengemas kini repositori

Sebelum memasang perisian, pastikan anda mengemas kini repositori. Ini dilakukan menggunakan satu arahan:

Kemas kini apt-get

Memasang Apache pada Debian 7

Pemasangan Apache tidak sepatutnya menyebabkan sebarang kesulitan. Semuanya datang untuk memanggil satu arahan tunggal (repositori adalah perkara yang menarik):

Apt-get install apache2

Setelah selesai, mesej akan dipaparkan yang menunjukkan bahawa beberapa pakej hilang dan tawaran untuk memuat turun. Setuju, dan bersedia untuk menonton inskripsi berjalan di konsol selama beberapa minit. Selepas menyelesaikan proses pemasangan, uji kefungsian pelayan web. Untuk melakukan ini, buka penyemak imbas anda dan pergi ke http://ip_your_server. Jika anda menaikkan hos masuk DigitalOcean, maka anda boleh mengetahui alamat IP dari panel kawalan titisan atau dengan menjalankan arahan dalam konsol:

Ifconfig eth0 | grep inet | awk "( cetak $2 )"

Pelayan web yang dipasang dengan betul akan memaparkan halaman dengan tulisan " Ianya berfungsi!”.

Komponen seterusnya yang perlu kita pasang ialah MySQL DBMS. Untuk memuat turun dan memasang MySQL, anda sekali lagi perlu menjalankan satu arahan:

Apt-get install mysql-server

Pengurus pakej juga akan menggesa kami untuk memuat turun dan memasang komponen bergantung, dan selepas memuat turunnya, utiliti konfigurasi akan dilancarkan. Soalan pertamanya ialah meminta kata laluan untuk akaun "root". Kami menghasilkan kata laluan yang lebih kompleks dan tekan "enter". Saya menasihati anda untuk memasukkan kata laluan dari papan kekunci sendiri, dan bukan dari penimbal. Sekali, jadi saya memasukkan kata laluan yang salah dan kemudian terpaksa memasang semula MySQL.

Setelah pemasangan MySQL selesai, anda perlu menjalankan skrip: mysql_secure_installation. Untuk melakukan ini, tulis arahan dalam tetingkap terminal:

Mysql_secure_installation

Skrip akan segera meminta anda untuk kata laluan untuk akaun "root" yang anda nyatakan semasa pemasangan. Masukkan kata laluan anda dan tekan kekunci "Enter". Jika kata laluan telah dimasukkan dengan betul, skrip akan menggesa anda untuk menukarnya. Memandangkan anda mungkin mendapat kata laluan yang baik semasa pemasangan, masukkan "N", dengan itu enggan menukar kata laluan.

Soalan seterusnya ialah cadangan untuk mengalih keluar pengguna tanpa nama. Mereka tidak diperlukan pada hos pertempuran, jadi kami bersetuju ( masukkan "Y" dalam terminal).

Seterusnya, skrip akan menawarkan untuk menyekat keupayaan pengguna root untuk menyambung dari hos jauh. Ini sangat baik untuk keselamatan, jadi kami bersetuju. Pengguna yang mempunyai hak penuh mesti menyambung ke pelayan pangkalan data secara tempatan sahaja. Masukkan "Y" dan tekan kekunci "Enter". Dalam soalan seterusnya, wizard akan mencadangkan pemadaman pangkalan data ujian. Kami tidak memerlukan mereka, jadi kami bersetuju. Soalan terakhir akan berkaitan dengan kebenaran untuk memuat semula jadual keistimewaan. Kami bersetuju, dan semua jawapan kami kepada soalan sebelumnya akan berkuat kuasa serta-merta.

Memasang PHP5 pada Debian 7

Langkah terakhir ialah memasang PHP. Ia semudah memasang Apache. Masukkan arahan dalam tetingkap terminal:

Apt-get install php5 php-pear php5-mysql

Pemasangan php5 V debian 7 mengambil sedikit masa. Untuk memastikan penterjemah dipasang dengan betul, anda perlu memulakan semula Apache. PHP berinteraksi dengan pelayan WEB melalui modul yang akan dilancarkan secara automatik apabila Apache dimulakan semula. Untuk memulakan semula Apache gunakan arahan:

Perkhidmatan apache2 dimulakan semula

Menyemak fungsi PHP

Langkah terakhir untuk hari ini ialah menyemak kefungsian PHP. Mari cuba buat skrip ujian dan aksesnya melalui penyemak imbas. Masukkan arahan dalam terminal

Nano /var/www/phpinfo.php

Ia akan melancarkan penyunting teks nano. Di dalamnya kita masukkan baris standard untuk menyemak operasi penterjemah PHP:

Simpan perubahan pada fail ( ctrl + o) dan tutup fail ( ctrl+x). Dengan tindakan mudah ini kami mencipta fail di sepanjang laluan /var/www/phpinfo.php– folder hos lalai. Sehubungan itu, untuk mengakses fail ini dari jauh kita mesti menaip dalam penyemak imbas:

http:// /phpinfo.php

Jika semua komponen telah dipasang dengan betul, anda akan melihat halaman yang serupa dengan yang dalam rajah di bawah.

Bersedia untuk bekerja dan pertahanan

Pada langkah ini anda boleh menganggap bahawa pelayan WEB dihidupkan Debian 7 bersedia sepenuhnya untuk bekerja. Komponen utama dipasang dan sedia untuk memberi perkhidmatan kepada ramai pelanggan. Untuk kebahagiaan yang lengkap, akses FTP tidak mencukupi dan panel yang selesa pengurusan pangkalan data. Saya akan memberitahu anda tentang ini esok.

Tanpa keterlaluan, pelayan web Apache boleh dipanggil standard de facto di Internet. Sistem pengurusan kandungan yang paling popular dan aplikasi web lain direka bentuk untuk berfungsi dengan pelayan web ini di luar kotak. Oleh itu, jika anda memerlukan pelayan web dengan kegunaan umum, maka Apache akan menjadi pilihan terbaik. Dalam artikel ini kami akan memberitahu anda cara memasang dan mengkonfigurasi pelayan web berasaskan Debian sepenuhnya / Pelayan Ubuntu.

Katakan dengan segera bahawa dalam banyak aspek, seperti kelajuan atau penggunaan sumber, Apache bukanlah peneraju dalam kalangan pelayan web, tetapi ia berbeza dengan baik kerana ia dijamin untuk menjalankan sebarang aplikasi web atau tapak web tanpa tetapan tambahan dan penambahbaikan. Mari tambahkan di sini fleksibiliti dan kesederhanaan dalam tetapan, dokumentasi yang baik dan halangan yang rendah untuk masuk. Secara umum, jika anda tidak tahu apa faedah khusus yang akan diperoleh daripada menggunakan pelayan web alternatif, jangan ragu untuk memilih Apache.

Sebagai tambahan kepada pelayan web itu sendiri, kami memerlukan sistem pengurusan pangkalan data; MySQL telah lama menjadi standard de facto dalam industri ini, dan salah satu bahasa skrip untuk menjalankan aplikasi web, hari ini PHP dengan yakin memegang telapak tangan. Segala-galanya bersama-sama membentuk satu bundle klasik, juga dipanggil pelayan LAMP, singkatan untuk: Linux - Apache - MySQL - PHP.

Untuk pemasangan kami akan menggunakan platform Debian/Ubuntu. Sistem, bergantung pada keluaran, berbeza dalam set perisian, tetapi semua yang dinyatakan di bawah akan sama terpakai kepada mana-mana daripada mereka. Perbezaan sedia ada akan dibincangkan secara berasingan. Pada masa penulisan, keluaran sistem dan versi perisian berikut adalah terkini:

  • Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • Debian 7 Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Pelayan Ubuntu 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Semua keluaran di atas mengandungi versi perisian yang agak moden, tetapi terdapat beberapa keanehan. Jadi, termasuk dalam Ubuntu 14.04 dan Debian 8, Apache 2.4 mempunyai perbezaan yang agak serius daripada Apache 2.2 dan bukan semua CMS (sistem pengurusan kandungan, "enjin") dan aplikasi web boleh berfungsi dengannya, terutamanya untuk versi yang lebih lama. Jadi, sebagai contoh, anda tidak akan dapat menggunakan Apache 2.4 untuk akses web ke pangkalan data 1C:Enterprise. Oleh itu, jika anda memutuskan untuk memilih versi 2.4, semak keserasian dengannya bagi semua CMS dan aplikasi web yang dirancang untuk digunakan.

Selain itu, MySQL yang disertakan dengan Pelayan Ubuntu 12.04 / 14.04 tidak berfungsi di dalam bekas OpenVZ, yang digunakan secara meluas untuk menyediakan perkhidmatan VPS. Masalahnya diselesaikan dengan menggantikan MySQL dari repositori dengan versi dari Komuniti MySQL (pembangun) atau salah satu garpu, sebagai contoh, MariaDB.

Dengan kata itu pilihan yang optimum Kami melihat penggunaan Debian 7 sebagai platform pelayan web sebagai yang paling serasi dengan aplikasi web sedia ada dan tanpa masalah yang serius.

Kami tidak akan memikirkan pemasangan dan penyediaan OS pelayan; anda boleh membiasakan diri dengan proses ini dengan lebih terperinci dalam artikel kami untuk dan. Juga pastikan anda mengkonfigurasi sistem anda dengan betul. Semua langkah di bawah harus dilakukan dengan hak superuser, contohnya menggunakan perintah sudo.

Memasang Apache

Menyediakan pelayan web adalah sangat mudah:

Apt-get install apache2

Untuk menyemak operasinya, taip alamat IP pelayan dalam penyemak imbas anda dan anda akan melihat halaman standard rintisan:

Untuk Apache 2.4 ia kelihatan sedikit berbeza, tetapi maknanya tidak berubah.

Tetapan pelayan terkandung dalam /etc/apache2/apache2.conf, yang mana fail tambahan daripada direktori disambungkan mods-enabled Dan didayakan tapak. Dalam kes ini, tiada siapa yang menghalang anda daripada membuat semua tetapan yang ditentukan secara terus apache2.conf- semuanya akan berfungsi, tetapi ini secara mendadak mengurangkan kemudahan pentadbiran, kerana ia memerlukan penyuntingan berterusan fail konfigurasi utama, sementara tetapan fail luaran Mudah dihidupkan dan dimatikan menggunakan alat khas.

Untuk tujuan ini, katalog mods-enabled Dan didayakan tapak tidak mengandungi fail konfigurasi, tetapi hanya pautan simbolik pada direktori mod-tersedia Dan tapak-tersedia, di mana fail itu sendiri harus ditempatkan. Seperti namanya, direktori ini mengandungi tetapan untuk modul dan hos maya. Jika anda jarang berurusan dengan modul, maka uruskan cara ini hos maya, iaitu tapak, sangat mudah.

Kami telah menulis secara terperinci tentang hos maya dan lokasi kandungan tapak dalam artikel di, semuanya berkata ada juga benar untuk kes kami. Anda bebas memilih sebarang susun atur data, tetapi kami lebih suka menyimpan kandungan tapak web di dalamnya /var/www dalam folder dengan nama domain.

Isu seterusnya yang perlu diselesaikan ialah hak akses kepada fail dan folder di tapak. Secara lalai, pemiliknya mestilah pelayan web (pengguna dan kumpulan www-data), jika tidak skrip mungkin berfungsi secara tidak dijangka atau tidak berfungsi sama sekali. Adalah lebih mudah dan selamat untuk menjalankan kandungan tapak web bagi pihak pengguna, dan bukannya pelayan web. Untuk melakukan ini, pasang pakej berikut:

Apt-get install apache2-mpm-itk

DALAM Ubuntu 14.04 Apabila memasang pakej ini anda mungkin menghadapi ralat:

Dpkg: pakej pemprosesan ralat apache2-mpm-itk (--configure):
masalah pergantungan - biarkan tidak dikonfigurasikan

Menutup bahagian terbuka: Dan , kemudian simpan fail itu. Konfigurasi hos maya sudah sedia.

Untuk mendayakan tapak anda perlu membuat pautan simbolik ke fail konfigurasi dalam direktori didayakan tapak, dan untuk mematikannya - padamkan pautan ini. Ini boleh dilakukan secara manual menggunakan arahan ln -s, atau gunakan utiliti apache khas:

A2ensite example.com

Perintah ini akan menghidupkan tapak; untuk mematikannya, masukkan:

A2dissite example.com

Sebagai pilihan, arahan itu diberikan nama fail konfigurasi daripada tapak-tersedia, dalam kes Apache 2.4 tanpa sambungan. Selepas setiap tindakan sedemikian, pelayan web mesti dimulakan semula:

Perkhidmatan apache2 muat semula

Untuk menyemak pengendalian hos maya, letakkan mana-mana fail html dalam direktori akarnya dan hubungi pelayan dengan nama domain (rekod domain A mesti dikonfigurasikan dan menunjuk ke pelayan web anda).

Sebagai contoh, mari buat fail indeks:

Sentuh /var/www/examlpe.com/index.html

Dan letakkan baris di dalamnya:

OKEY!



Akibatnya, anda akan melihat perkara berikut dalam penyemak imbas:

Memasang PHP

Jika anda memerlukan pelayan web untuk mengehoskan kandungan statik atau aplikasi web pihak ketiga, sebagai contoh, penerbitan pangkalan data 1C:Enterprise, maka anda tidak perlu membaca lebih lanjut. Tetapi jika anda akan membuat tapak web berdasarkan CMS yang popular, anda memerlukan sokongan skrip bahasa PHP, berdasarkan yang mana kebanyakan enjin moden dibangunkan.

Penting! Pengedaran moden menggunakan versi PHP7 yang lebih baharu untuk digunakan versi baru bukannya lidah php5 dalam arahan di bawah anda harus nyatakan php7.0, sebagai contoh, bukannya php5-imagick perlu mendail php7.0-imagick

Mari jalankan arahan:

Apt-get install php5

Jurubahasa itu sendiri dan modul yang diperlukan untuk bekerja dengan pelayan web akan dipasang. Modul membolehkan anda mengubah fungsi PHP secara fleksibel; pengurusan modul dijalankan sama seperti Apache, apabila konfigurasi modul terletak dalam satu direktori, dan pautan simbolik dibuat kepada yang lain untuk menyambungkannya.

Secara lalai, PHP dipasang dengan set modul asas yang akan merangkumi kebanyakan keperluan, tetapi CMS yang anda gunakan mungkin memerlukan modul tambahan yang perlu anda pasang secara berasingan.

Sebagai contoh, untuk bekerja dengan grafik anda memerlukan sokongan perpustakaan grafik GD2, jadi mari pasang modul yang sesuai:

Apt-get install php5-gd

Kemudian jangan lupa untuk memulakan semula pelayan web:

Perkhidmatan apache2 muat semula

By the way, GD2, pada pendapat kami, bukan yang terbaik pilihan terbaik, penggunaan sumber yang rendah boleh direkodkan sebagai aset perpustakaan dan kelajuan tinggi berfungsi, tetapi dari segi kualiti kerja dengan imej ia adalah lebih rendah daripada utiliti alternatif imagemagick, kadangkala ketara. Oleh itu, masuk akal untuk memasang kedua-dua utiliti dan memilih yang kerjanya paling sesuai untuk anda. Jika sumber pelayan membenarkan, maka ia adalah lebih baik untuk digunakan imagemagick.

Mari pasang utiliti dan modul PHP untuk dia:

Apt-get install imagemagick php5-imagick

Untuk menyemak operasi PHP, kami akan mencipta skrip khas dalam direktori akar tapak:

Sentuh /var/www/examlpe.com/info.php

Dan tambahkan teks berikut padanya:

phpinfo();
?>

Sekarang mari taip dalam penyemak imbas http://example.com/info.php, sebagai hasil daripada skrip ini anda akan melihat halaman standard dengan maklumat tentang PHP, modul yang dipasang, tetapan, dsb.

Memasang MySQL

MySQL DBMS adalah yang ketiga komponen yang diperlukan pelayan web yang lengkap, tujuan utama pangkalan data adalah untuk menyimpan maklumat tapak, kedua-dua pengguna dan perkhidmatan. Pada masa yang sama, DBMS mengatasi semua komponen lain dalam kepentingan, kerana kehilangan pangkalan data adalah sama dengan kehilangan semua maklumat sumber anda.

Mari pasang pelayan pangkalan data dan modul PHP untuk berfungsi dengannya:

Apt-get install mysql-server php5-mysql

Semasa proses pemasangan, anda akan diminta untuk memasukkan kata laluan untuk superuser MySQL (root), yang tidak boleh dikelirukan dengan superuser sistem.

Untuk kawalan yang mudah pangkalan data, masuk akal untuk memasang phpMyAdmin - utiliti berasaskan web yang mudah untuk menguruskan pelayan MySQL:

Apt-get install phpmyadmin

Pemasang utiliti boleh mengkonfigurasi pelayan web popular secara automatik Apache Dan Lighttpd, pelayan yang diperlukan hendaklah dinyatakan semasa pemasangan:

Antara muka web utiliti akan tersedia di http://example.com/phpmyadmin, untuk log masuk anda harus menggunakan kelayakan pengguna MySQL, dalam kes kami ia adalah akar (belum ada yang lain) dengan kata laluan yang kami nyatakan semasa pemasangan MySQL.

DALAM Ubuntu 14.04 kami menghadapi masalah kecil, utiliti memberitahu kami bahawa sambungan mcrypt tidak dijumpai, walaupun modul PHP yang sepadan telah dipasang di antara kebergantungan.

Jom semak. DALAM /etc/php5/apache2/conf.d tiada pautan ke modul ini, semasa dalam /etc/php5/mods-available fail yang diperlukan ada. Akibatnya, modul dipasang, tetapi, atas sebab tertentu, tidak disambungkan. Mungkin ini disebabkan oleh Apache 2.4 dan kemudian situasi yang sama mungkin berlaku dalam Debian 8.

Walau bagaimanapun, tiada perkara buruk berlaku, yang kita perlukan hanyalah menyambungkan modul dengan membuat pautan simbolik:

Ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

Tiada tetapan tambahan pelayan MySQL tidak memerlukannya, kerana pengekodan UTF-8 telah menjadi standard de facto. Pada dasarnya, kita boleh berakhir di sini, tetapi semua pangkalan data yang dihoskan pada pelayan akan berfungsi dengan hak superuser MySQL, yang tidak selamat. Oleh itu, anda harus mencipta pengguna pelayan pangkalan data dengan hak terhad supaya mereka hanya boleh mengurus pangkalan data mereka sendiri.

Jom buka phpMyAdmin dan pergi ke halaman Keistimewaan (Pengguna), tempat yang kita pilih Tambah pengguna baharu.

Sekarang mari tatal halaman sedikit lebih rendah dan pasang pilihan Berikan keistimewaan penuh kepada pangkalan data yang sepadan dengan templat (nama pengguna\_%)

Ini akan membolehkan anda sekali lagi tidak terganggu dengan menetapkan hak, tetapi hanya mencipta pangkalan data dengan nama seperti ivanov_base1 atau petrol_base2, menyediakan pengguna yang berkaitan hak penuh pada mereka, serta cepat menentukan pemilikan pangkalan data. Pada masa yang sama, tetapan ini bukan dogma; anda boleh bertindak mengikut budi bicara anda sendiri. Kami meninggalkan parameter yang tinggal sebagai lalai.

Untuk menyemak kami akan membuat pangkalan data phpMyAdmin - Pangkalan Data - Pangkalan data baharu.

Apabila mencipta pangkalan data, perhatikan pengekodan. Hari ini, kebanyakan enjin dan aplikasi web berfungsi dengannya UTF-8 (utf8_general_ci), bagaimanapun, versi enjin yang lebih lama boleh menggunakan pengekodan nasional, jadi anda perlu menentukannya dengan betul pada peringkat mencipta pangkalan data, jika tidak, memuat naik ke pangkalan data yang dibuat dalam UTF-8 buang dalam pengekodan Windows-1252 Daripada surat Rusia di laman web ini akan ada "kryakozyabliki".

Setelah mencipta pangkalan data, mari kita semak keistimewaannya dengan mengklik pautan nama yang sama di sebelah nama pangkalan data.

Seperti yang anda lihat, semuanya betul, pengguna yang dinyatakan dalam nama dan akar superuser mempunyai hak penuh ke pangkalan data, walaupun kami tidak menyatakan sebarang tetapan akses semasa mencipta pangkalan data.

Pada ketika ini, persediaan boleh dianggap lengkap dan anda boleh mula mengendalikan pelayan. Walaupun pada hakikatnya konfigurasi yang diterangkan adalah asas, keupayaannya cukup mencukupi untuk menampung dan Operasi biasa hampir mana-mana CMS moden aplikasi massa dan kami akan menggunakan pelayan ini sebagai rujukan untuk bahan kami seterusnya mengenai topik ini.

  • Tag:

Sila dayakan JavaScript untuk melihat

06Sep

LAMP ialah satu set produk perisian yang digunakan secara meluas untuk mencipta perkhidmatan web. Set ini terdiri daripada bilik bedah sistem Linux, salah satu pelayan web Apache yang paling biasa, Mysql DBMS dan bahasa skrip PHP. Artikel ini adalah mengenai prosedur pemasangan biasa dan menyediakan set ini untuk kegunaan selanjutnya bagi perkhidmatan web.

Debian 8 dipilih sebagai sistem pengendalian, sebagai salah satu pengedaran GNU/Linux yang paling popular. Proses pemasangan sistem pengendalian ini sendiri tidak akan dipertimbangkan, kerana ia tidak berkaitan dengan topik artikel.

Semua operasi pemasangan dan konfigurasi akan dilakukan di bawah akaun pengguna root.

Memasang Apache

Sebelum memulakan pemasangan, anda mesti menjalankan arahan:

Apt-get install apache2

Setelah pemasangan selesai, pelayan web akan sedia untuk digunakan. Anda hanya boleh menyemak kefungsiannya dengan membuka alamat IP pelayan di mana pakej Apache dipasang dalam pelayar web anda. Untuk versi 2.4 halaman rintisan kelihatan seperti ini:

Fail konfigurasi Apache, terletak di /etc/apache2/apache2.conf

Direktori /etc/apache2/sites-enabled/ mengandungi fail konfigurasi perkhidmatan web yang dibuat, dan direktori /etc/apache2/sites-available/ mengandungi pautan simbolik ke fail konfigurasi perkhidmatan web yang didayakan pada masa ini.

Fail konfigurasi ini boleh digunakan untuk mengurus konfigurasi hos maya. Pelayan Apache membolehkan anda mengehoskan berbilang hos maya (perkhidmatan) pada satu pelayan. Secara lalai, semua kandungan perkhidmatan web terletak dalam folder /var/www. Peletakan kandungan boleh diubah dengan menyatakan ini dalam fail konfigurasi hos maya, arahan DocumentRoot bertanggungjawab untuk ini.

Mari pertimbangkan untuk membuat halaman web ringkas dengan tulisan "Hello World". Mula-mula, mari buat folder tempat kandungan akan disimpan. Untuk melakukan ini, jalankan arahan:

Mkdir /var/www/helloworld.net

Dalam folder ini kami akan mencipta fail html ringkas index.html dengan kandungan berikut:

Hai dunia

Ini adalah halaman ujian.



Setelah kandungan halaman mudah hadir, anda perlu mencipta fail konfigurasi hos maya. Untuk melakukan ini, dalam folder /etc/apache2/sites-available/, buat fail helloworld.net.conf (jangan lupa tentang sambungan conf) dengan kandungan berikut:

ServerName helloworld.net ServerAdmin [e-mel dilindungi] ServerAlias ​​​​www.helloworld.net DocumentRoot /var/www/helloworld.net CustomLog $(APACHE_LOG_DIR)/helloworld.net.access.log digabungkan ErrorLog $(APACHE_LOG_DIR)/helloworld.net.error.log

Berikut ialah parameter:

  • Nama Pelayan – nama domain hos maya (halaman kami);
  • ServerAdmin – alamat e-mel pentadbir;
  • ServerAlias ​​– alias hos maya (nama domain hos dengan penambahan www);
  • DocumentRoot – tempat di mana kandungan perkhidmatan itu sendiri disimpan;
  • CustomLog - nama fail log akses perkhidmatan;
  • ErrorLog – nama fail log ralat.

Penerangan terperinci tentang semua parameter dan nilainya dalam fail konfigurasi boleh didapati dalam dokumentasi rasmi (http://httpd.apache.org/docs/2.4).

Langkah seterusnya ialah mendayakan hos maya kami. Ini boleh dilakukan hanya dengan mencipta pautan simbolik:

Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf

Anda juga boleh mendayakan dan melumpuhkan hos maya menggunakan arahan a2ensite dan a2dissite, masing-masing.

Bagi membolehkan:

A2ensite helloworld.net

Untuk mematikan:

A2dissite helloworld.net

Selepas menghidupkan hos, anda perlu memulakan semula pelayan Apache:

/etc/init.d/apache2 mulakan semula

Kini anda boleh menyemak operasi halaman yang dibuat.

Untuk menyemak halaman, anda mungkin perlu menambah baris pada fail hos pada komputer dari mana semakan sedang dijalankan:

Xxx.xxx.xxx.xxx helloworld.net

di mana xxx. xxx. xxx. xxx – ini ialah alamat IP pelayan dengan Apache dipasang. Fail hos terletak:

  • C:\Windows\System32\drivers\etc (dalam Win7);
  • /etc/hosts (pada Debian).

Memasang PHP

Langkah seterusnya ialah memasang bahasa skrip PHP. Pemasangan dijalankan dengan arahan:

Apt-get install php5

Sekarang anda perlu menyemak kerja PHP. Untuk melakukan ini, tambahkan fail test.php pada folder kandungan tapak (/var/www/helloworld.net). Dalam fail ini anda perlu menulis yang berikut:

Perlu diingatkan bahawa terdapat modul PHP untuk pelayan Apache. Modul ini membolehkan Apache dan PHP berfungsi dengan lebih cekap. Anda boleh menyemak sama ada modul dipasang:

Dpkg -l | grep libapache2-mod-php5

Jika tiada modul, maka anda perlu memasangnya:

Apt-get install libapache2-mod-php5.

Anda boleh menyemak sama ada modul disambungkan dalam pelayan Apache itu sendiri seperti berikut:

Ls -l /etc/apache2/mods-enabled/ | grep php5

Perkara berikut sepatutnya muncul:

Lrwxrwxrwx 1 akar punca 27 Sep 2 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 Sep 2 10:07 php5.load -> ../mods-available/php5.load

Jika modul tidak didayakan, sama seperti hos maya, anda boleh mendayakannya dengan arahan

A2enmod php5

Modul dimatikan menggunakan arahan a2dismod.

Memasang mysql

Langkah terakhir untuk menyediakan persekitaran untuk bekerja dengan perkhidmatan web ialah memasang DBMS mysql. Pemasangan dijalankan dengan arahan:

Apt-get install mysql-server php5-mysql

Semasa proses pemasangan, anda akan dikehendaki memasukkan kata laluan untuk pengguna root.

Selepas pemasangan selesai, anda boleh menyemak operasi mysql dengan menyambung ke DBMS itu sendiri.

Mysql -u root -p Masukkan kata laluan: Selamat datang ke monitor MySQL. Perintah berakhir dengan ; atau\g. Id sambungan MySQL anda ialah 43 Versi pelayan: 5.5.49-0+deb8u1 (Debian) ... mysql>

Ini melengkapkan penyediaan asas pelayan. Selain itu, untuk mengurus pangkalan data, anda juga boleh memasang utiliti phpmyadmin.

Apt-get install phpmyadmin

Semasa pemasangan, anda perlu menentukan pelayan yang akan anda gunakan, ini akan membolehkan program pemasangan mengkonfigurasi utiliti secara automatik untuk berfungsi dengan pelayan ini.

Anda juga boleh bertindak balas secara positif kepada cadangan untuk mengkonfigurasi pangkalan data.

Dan masukkan kata laluan untuk pentadbir pangkalan data beberapa kali (yang ditentukan untuk pengguna root semasa memasang mysql).

Selepas pemasangan phpmyadmin selesai. Anda boleh menyemak operasinya dengan mengikuti pautan http://localhost/phpmyadmin (jika penyemak imbas dibuka dari pelayan yang sama) atau dengan mengikuti pautan http://xxx.xxx.xxx.xxx/phpmyadmin dari komputer lain, di mana xxx.xxx.xxx. xxx ialah alamat IP pelayan.

Untuk log masuk, anda mesti menggunakan log masuk dan kata laluan yang ditentukan semasa memasang mysql.