Ubuntu'da bir LAMP sunucusunun kurulumu ve kurulumu. Plaka - LAMP yığını nedir? Bitmiş görüntülerin harici açıklaması
ortalama yığın (7)
Linux işletim sistemi için L Apache web sunucusu için A Mysql veritabanı için M Komut dosyası ve php modülleri için php için p
LAMP sistemine php programlarını ve cgi programlarını yerleştirebiliriz.
örneğin: web sunucusu için Ubuntu apt-get install apache2 veritabanı için apt-get install mysql-server php5-mysql ve php apt-get php5'i kurun ve web sunucunuza ulaşın http://localhost
LAMP Stack teriminin ne anlama geldiğini bana söyleyebilir misiniz? Bunu çalışmayla ilgili bildirimlerden anlıyorum ama bu değişikliği tam olarak kavrayamayacağım.
Gelişimimde vikory LAMP'ı sıklıkla kullandığımı hissediyorum, ancak bir "yığın" kokusu alırsam, LAMP'ın vikorist ortası olmadığımı hissediyorum, ne olursa olsun.
LAMP'ın ne anlama geldiğini biliyorum, sadece "yığın" teriminin ne anlama geldiğini bilmek istiyorum.
LAMP Anlamı L = LINUX (OS) A = APACHE (web sunucusu) M = MySQL (veritabanı) P = PHP (dil)
Kısaca Linux, Apache, MySQL ve PHP destekli geliştirme platformları çıkış kodu, ayrıca bir işletim sistemi olarak Linux, bir web sunucusu olarak Apache, RDBMS olarak MySQL ve nesne yönelimli bir betik dili olarak PHP gibi bir web yığını olarak da adlandırılır. Perl veya Python sıklıkla PHP'nin yerini alır.
Hâlâ yığının ne olduğunu öğrenmekte olanlar için, "yığın" terimi "yığın kararı" olarak genişletilir. Çözüm yığını yalnızca yeni bir yığındır yazılım güvenliği Sorunu çözmek için genellikle gerekli platformu ve altyapıyı sağlayacak şekilde birleştirmek gerekir. Bu terim aynı zamanda “sunucu yığını” ve “web yığını” olarak da bilinir. Görünüşe göre LAMP yığını, İnternet üzerinden dinamik içerik sunmak için özel olarak tasarlanmış spesifik ve kapsamlı bir program kümesidir.
Ek Bilgiler:
İşletim sistemi Linux
Web sunucusu APAÇE
Veri tabanı MySQL
Yığın terimi Yığın anlamına gelir! Bu, bu teknolojiler/altyapılarla çalıştığınıza dair kanıtınızın olduğu anlamına gelir. Tüm parçalar, yığın adı verilen, indirip yükleyebileceğiniz bir LAMP paketinde birleştirilir.
LAMP yığını, Linux, Apache, MySQL ve PHP (LAMP) yazılımlarından oluşan bir yığın olan Linux'ta barındırılan web sitelerinin temelini oluşturur.
LAMBA Standı şunu ifade eder: -
- L (Linex İşletim Sistemi)
- A(Apache[ Yerel İstemci Sunucusu ])
- M (MySQL veritabanı)
- P (PHP)
LAMP Stack, web siteleri ve web eklentileri oluşturmak için kullanılabilecek açık kaynak kodlu bir dizi programdır. LAMP bir kısaltmadır ve bu yığınlar bir Linux işletim sistemi, bir Apache HTTP sunucusu ve bir yönetim sisteminden oluşur. ilişkisel veritabanları MySQL verileri ve PHP film programlama.
Linux:İşletim sistemi (OS) birinci önceliğimizdir. Linux yığın modelinin temelini oluşturur. Diğer tüm toplar bu topun üstünde oynar. Linux kilisenin kendisidir düşük seviyeİşletim sistemini koruyacaktır. Linux aslında dış görünümü diğer bileşenlerden çalıştırır. Ancak Linux ile sınırlı değilsiniz; Diğer bileşenleri Microsoft®'tan kolaylıkla çalıştırabilirsiniz; Gerektiği gibi Windows®, Mac OS X veya UNIX®.
Apaçi: Bir diğer zorluk ise Apache Web Sunucusu adı verilen web sunucusu yazılımından kaynaklanmaktadır. Bu seviye Linux seviyesinin üstündedir. Web sunucuları, web tarayıcılarından doğru web sitelerine geçiş yapmaktan sorumludur. Apache, istemci için web sayfasını kaldırmak için bir mekanizma sağlayacaktır. Apache, görev açısından kritik görevleri destekleyen ve İnternet'teki 65'ten fazla yüzlerce web sitesine güç sağlayan kararlı bir sunucudur. PHP bileşeni aslında Apache'nin ortasında yer alır ve dinamik sayfalar oluşturmak için büyük ölçüde Apache ve PHP'ye güvenirsiniz.
MySQL:Üçüncü sıramız bu verilere dayanmaktadır. MySQL, bir web sitesi oluşturmak için komut dosyası oluşturma sırasında alınabilecek verileri depolar. MySQL, Apache/katman 2 ile Linux'un üzerine dağıtılacaktır. Yüksek sınıf MySQL yapılandırmalarında, ayrı bir ana sunucu dağıtabilirsiniz. MySQL, LAMP sistemine veri depolama sağlar. MySQL ile büyük ve karmaşık web sitelerini çalıştırmaya uygun güçlü bir veritabanına erişebilirsiniz. Web uygulamanızda tüm verileriniz, ürünleriniz, bulut kayıtları Bu tür diğer bilgiler, SQL kullanarak kolayca sorgulayabileceğiniz bir formatta bu veritabanında saklanacaktır.
PHP: Onların üstünde oturmak dördüncü ve kalan sebebimizdir. Komut dosyası PHP ve/veya diğer benzer web programlama araçları kullanılarak yazılmıştır. Web siteleri ve web programları bu düzeyde çalışır. PHP, LAMP sisteminin diğer tüm parçaları için tutkal sağlayan basit ve etkili bir programlama dilidir. PHP'yi, MySQL veritabanındaki verilere ve Linux'un sağladığı birçok fonksiyona erişmenizi sağlayan dinamik içerik yazmak için kullanırsınız.
LAMP yığınını bir bakışta görselleştirebiliriz: Daha fazla bilgi
Düz bir lamba şu anlama gelir: L giriş A pak M ysql P HP
Orta yığın da dayanmaktadır M ongoDB e xpressJS A ngularJS N odeJS
Apache, MySQL ve PHP'den bahsetmişken, çoğu yönetici, kurulu yazılım setini birçok yazılımdan birine aktaran LAMP yığınına güveniyor. Linux dağıtımları. Hangi seçenek daha uygun olabilirse FreeBSD'yi tercih edebilirsiniz.
Bu yazımda FreeBSD'yi tamamen çıplak bir sunucu üzerinde (L)AMP yığını ve herhangi bir yönetim aracıyla eş zamanlı olarak yükseltmek ve her şeyin hatasız ve öngörülemeyen bir şekilde aynı anda çalışması için çalışması için atılması gereken tüm adımları anlatacağım. durumlar.
Krok 1. FreeBSD'yi yükleyin
Artık işletim sisteminin kendisine ihtiyacımız olacak. Resmi sayfaya gidelim ÜcretsizBSD(www.freebsd.org), “FreeBSD'yi Şimdi Alın” mesajına tıklayın, ardından işletim sistemi sürümünü seçin (bu yazının yazıldığı sırada iki sürüm mevcuttu: 8.2-RELEASE ve 7.4-RELEASE), mimari (amd64 veya i386) , mesaja ve mevcut görsellerin listesine tıklayın. Beş kişiyiz: yalnızca önyükleme - süslü görüntü kenar boyunca kurulum için disk1 - ISO görüntüsü CD'ye yazmak için, dvd1 - DVD'ye yazmak için görüntü, livefs - grafik arayüzü olmayan LiveCD, USB anahtar zincirine kayıt için bellek çubuğu. Bizim durumumuzda, yalnızca birincisi ve diğeri uygun olacaktır ve karışımda DHCP sunucusu olmadığından, yalnızca diğeri (indirilecek DVD görüntüsü yoktur, bu nedenle yine de bir CD'ye ihtiyacımız var).
Ardından ISO görüntüsünü indirin, bir diske kesin, sunucu sunucusuna yerleştirin ve bırakın/etkinleştirin. İşletim sistemi heyecanlanana kadar bekleyin. Kurulumu tamamladıktan sonra ekranda bir kenar seçme seçeneği ve on iki öğeden oluşan sysinstall yükleyici menüsü görüntülenecektir. Bunlardan sadece bir tanesinden bahsedebiliriz: Pek çok bildirimi, beslenmeyi ve ayarlamayı kaçırmadan, işletim sistemini olabildiğince hızlı bir şekilde kurmanıza olanak tanıyan “Express”. Onu seç, kabart
Disk bölümleme program penceresi görünecektir. Burada şunları yapabilirsiniz veya sadece tuşuna basabilirsiniz her diskin vikoristanı için veya Programdan çıkmak için.
Çok yakında: bir bakış açısı kurmayla ilgili bilgiler, sadece kabartmalı Değişikliği onaylamak için.
Şimdi: kurulum seçeneğini seçin. Varsayılan olarak, CD/DVD vikorize edilmiştir, yani basitçe kabartmalıdır
Kurulum tamamlandıktan sonra kullanıcı adının kökünü girin ve komut yorumlayıcısına erişimi reddedin.
Krok 2. Özelleştirme
Yalnızca FreeBSD'yi kurduk, ancak henüz tam teşekküllü bir sunucu rolünden ayrılmaya hazır değiliz: ağ çalışmıyor, kökün şifresi yok, sistemde yalnızca bir kullanıcı var. Vipravimmo tse. Öncelikle şifrenizi belirleyelim:
Ekranda çoğu gösterilmeyen yiyecekler görünecektir (basın)
Kök haklarını kaldırdığınızdan emin olmak için tekerlek grubuna aşağıdakileri ekleyin:
# pw groupmod wheel -m kullanıcı adı
/etc/fstab dosyasını, hiç kimsenin /tmp ve /var bölümlerinde bulunan dosyaları çalıştıramaması için düzelteceğiz. Bu amaçla bu bölümlerin dış görünümleri için Seçenekler alanına “noexec” işaretini ekleyin.
Sistem dosyalarına erişime daha sıkı kısıtlamalar getiriyoruz:
# chmod 0600 /etc/syslog.conf
chmod 0600 /etc/rc.conf
chmod 0600 /etc/newsyslog.conf
chmod 0600 /etc/hosts.allow
chmod 0600 /etc/login.conf
Şimdi bağlantının sınırını ayarlamamız gerekiyor. FreeBSD'de tüm genel ayarlar /etc/rc.conf dosyasında saklanır; bu dosyaya ek bir düzenleyici kullanılarak ve aşağıdaki satırlar eklenerek erişilebilir:
# ee /etc/rc.conf
ana bilgisayar adı = "ana bilgisayar.com"
ifconfig_em0 = "inet 1.2.3.4 ağ maskesi 0xffffffff"
defaultrouter = "5.6.7.8"
Burada em0 başka bir satırdadır - bu, ayarlanan ara arayüzün adıdır. Kullanılabilir çevresel arayüzlerin listesi ek ifconfig komutu kullanılarak bulunabilir. Seçeneğin değeri olarak, arayüzü dhclient kullanarak yapılandıracak olan DHCP'yi belirtebilirsiniz. Ayrıca bizim için bir dizi önemli seçenek de ekleyeceğiz:
# ee /etc/rc.conf
Paket iletmeyi kontrol ediyoruz ve
Tüm yeniden yönlendirme girişimlerini kaydediyoruz
icmp_drop_redirect = "EVET"
icmp_log_redirect = "EVET"
Geniş bant ping isteklerini engeller
icmp_bmcastecho = "HAYIR"
Cilt enfeksiyonları durumunda /tmp dizinini temizleme
clear_tmp_enable = "EVET"
/etc/motd dosyasındaki güncellemeler cilt tahrişine karşı korunur
update_motd = "HAYIR"
Anında kurulumlu paketler kabul edilmemektedir.
SYN ve FIN'i temsil ediyor
tcp_drop_synfin = "EVET"
Wimicamo postası
sendmail_enable = "HAYIR"
sendmail_submit_enable = "HAYIR"
SSH'yi içerir
sshd_enable = "EVET"
Editörden çıkmak için tuşuna basın
# ee /etc/resolv.conf
ad sunucusu 8.8.8.8
Sınır ayarını ayarlamak için şimdi şu komutu vereceğiz:
# /etc/rc.d/netif yeniden başlatma
Ağın kullanılabilirliğini kontrol etme:
# ping execbit.ru
/etc/sysctl.conf dosyasına bir grup kahverengi satır ekleyin:
# ee /etc/sysctl.conf
Kapalı bağlantı noktalarına yapılan bağlantı girişimlerine yanıt verme
(çeşitli DoS saldırı türlerine göre değişir ve karmaşıktır)
bağlantı noktalarını tara)
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
Yalnızca kök işlemlerin tümünün listesini görüntüleyebilirsiniz
kern.ps_showallprocs=0
SSH sunucusunu kaba kuvvet saldırılarına karşı koruyun:
# echo "MaxStartups 5:50:10" >> /etc/ssh/sshd_config
/etc/rc.d/sshd yeniden başlat
Artık SSH sunucusu, beş hatalı kayıt oluşturulmuşsa yeni bağlantıların %50'sine aynı anda izin verecek. On tane varsa, sunucu raporlamayı tamamen durduracaktır.
Ekspres kurulumu kullanırken, bağlantı noktaları sistemi (işletim sistemine üçüncü taraf yazılımı yüklemek için bir çerçeve) FreeBSD'ye otomatik olarak yüklenmez, bu nedenle bunu manuel olarak yapmamız gerekir (bu iyidir, çünkü en yeni bağlantı noktalarını kaldırabiliriz). eski saçmalığın yerini almamak için) PZ):
# portsnap getirme özü
Ayrıca temel sistemi de güncelleyebilirsiniz ancak bu zorunlu değildir:
# freebsd-güncelleme getirme
freebsd-güncelleme kurulumu
kapatma -r şimdi
Portlar güncellendikten sonra sisteme ileride kurulabilecek güçlü rootkitler için gerekli olan rkhunter aracını sisteme kuruyoruz:
# cd /usr/bağlantı noktaları/güvenlik/rkhunter
kurulumu temiz yap
/usr/local/etc/rkhunter.conf yapılandırma dosyası, MAIL-ON-WARNING seçeneğinin bir anormallik tespitine ilişkin bildirim sağlamak üzere bir e-posta yerleştirmesini sağlayacak şekilde düzenlenebilir.
Güncelleme için aracı kontrol etmek iyi bir fikirdir:
# rkhunter --güncelleme
Bunu takiben rootkit aramalarının işareti olarak algılanacak sistem dosyalarının anlık görüntüsünü oluşturalım:
# echo "daily_rkhunter_update_enable="EVET"" > /etc/periodic.conf
echo "daily_rkhunter_check_enable="EVET"" > /etc/periodic.conf
İşte bu, artık şüpheli sistem etkinliğiyle ilgili tüm bilgiler /var/log/rkhunter.log günlüğüne yerleştirilecek ve e-posta yapılandırma dosyasındaki talimatlara uygulanacaktır.
# crontab -e 0 2 * * * kök /usr/local/sbin/ntpdate havuzu.ntp.org
Uzaktan sunucu yönetimi için kurulabilir bir Webmin, web tabanlı arayüz kurun (SSH yönetim araçlarını kullanmayı tercih edenler bu adımı atlayabilir):
# cd /usr/ports/sysutils/webmin
kurulumu temiz yap
echo "webmin_enable="EVET"" >> /etc/rc.conf
# /usr/local/lib/webmin/setup.sh
Güç kaynağı basınçla doğrulanabilir
# /usr/local/etc/rc.d/webmin start
І en yakın tarayıcınızın adres çubuğuna “https://host.com:10000/” adresini girerek bu robotu protesto edin.
AMP
Artık Apache web sunucusu, MySQL veritabanı ve PHP yorumlayıcısı gibi bir AMP yığını kurmanın zamanı geldi. Apache'ye başlayalım. Bağlantı noktasında demo yapıyoruz ve kalan sürümü yüklüyoruz:
# cd /usr/ports/www/apache22
config g kurulumunu temiz yap
Ekranda isteğe bağlı sunucu bileşenlerini kurmayı seçebileceğiniz bir yapılandırıcı penceresi görünecektir. Burada herhangi bir şeyi değiştirmenin bir anlamı yok, bu yüzden nazikçe sıkabilirsiniz
# echo "Apache22_enable="EVET"" >> /etc/rc.conf
echo "Apache22ssl_enable="EVET"" >> /etc/rc.conf
Ayrıca, yapılandırma dosyasından önce, HTTP bağlantılarını arabelleğe alan, sunucuyu kesintiye uğratacak ve SYN taşmasıyla mücadeleye yardımcı olacak accf_http modülünün kurulumuna ilişkin talimatları ekleyin:
# echo "accf_http_ready="EVET"" >> /etc/rc.conf
kldload accf_http
# cd /usr/ports/lang/php5
yapılandırma kurulumunu temiz yap
"Apache modülü oluştur" seçeneğinin seçili olduğundan emin olun. Artı iyiliğin genişlemesi:
# cd /usr/ports/lang/php5-extensions
yapılandırma kurulumunu temiz yap
PHP'yi yapılandırırken, MySQL ile çalışmak için PHP modülünü kurmadan önce bağlantı noktaları sistemini etkinleştirecek MySQL veritabanı destek öğesini kontrol etmeyi unutmayın. Onsuz hiçbir şey istemeyeceğim.
Şimdi Apache yapılandırma dosyasını bir metin düzenleyicide açıyoruz (FreeBSD için bu dosya çok uzaktadır: /usr/local/etc/apache22/ httpd.conf) ve bir sonraki adımda değiştiriyoruz:
1. LoadModule satırlarından sonra iki satır eklenir:
AddType uygulaması/x-httpd-php.php
AddType application/x-httpd-php-source.phps
2. ServerAdmin seçeneğini seçin ve posta adresinizi aşağıdaki gibi girin:
SunucuYönetici [e-posta korumalı]
3. DocumentRoot seçeneği web sitemizdeki tüm dosyaların kaydedildiği dizini belirtir:
DocumentRoot "/ev/www/veri"
Bu kataloğu oluşturmayı unutmayın:
# mkdir /ev/www
mkdir /ana sayfa/www/veri
mkdir /ana sayfa/www/cgi-bin
/home/www kök dizininin seçimini tercih ediyorum, böylece her şeyden önce /home dizini en büyük bölümde yer almalıdır (kurulum sırasında kullandığımız bölüm otomatik yapılandırıcı, alanın çoğunu ayırır) /home altında) ve bu nedenle -aksi takdirde, çalışması daha kolaydır, tıpkı /usr/local/www/apache22/data gibi, onu anonim alt dizinlerde saklayacağız.
4. Hücum hattını biliyoruz:
Dizinin DocumentRoot olarak belirtilmesini sağlayacak şekilde değiştiriyoruz:
5. Hücum sıraları değişiyor:
DirectoryIndex index.html
DirectoryIndex index.php index.html
6.
Direktifin ortasında
ScriptAlias /cgi-bin/ "/usr/local/www/apache22/cgi-bin/"
Eksen:
ScriptAlias /cgi-bin/ "/home/www/cgi-bin/"
7. İleri sıra:
Fiyatla değiştirin:
Dosyayı kaydedip PHP yapılandırma dosyasını oluşturuyoruz:
# cp /usr/local/etc/php.ini-tavsiye edilen /usr/local/etc/php.ini
Bu, PHP'den normal Apache çalışması için yeterli olacaktır. Artık MySQL'i yükleyebilirsiniz. Bunu portta yapalım ve şu şekilde çalışalım:
# cd /usr/ports/databases/mysql50-server
make With_OPENSSL=evet temiz kurulum
En baştan indirilebilecek basit bir yapılandırma dosyası oluşturalım:
# ee /etc/my.cnf
bağlantı noktası=29912
bağlantı noktası=29912
bağlama adresi=127.0.0.1
Sunucuyu otomatik olarak etkinleştirmek ve başlatmak için MySQL'i ekleyin:
# echo "mysql_enable="EVET""<< /etc/rc.conf
/usr/local/etc/rc.d/mysql-server start
Veritabanına erişim için şifreyi ayarlayalım:
# mysqladmin -u root şifresi şifre
mysql -u kök -p
Artık MySQL'in normal şekilde çalışması gerekiyor, ancak veritabanlarını manuel olarak yönetmek çok kolay değil, ayrıca insanlar için MySQL'i kurmak ilk öncelik olacak ve ona başlamak o kadar da kolay değil. O halde MySQL web arayüzünü PHPMyAdmin adı altında kuralım:
# cd /usr/ports/databases/phpmyadmin
kurulumu temiz yap
Web arayüzüne erişmek için şifreyi girerek PHPMyAdmin yapılandırma dosyasını düzeltebiliriz:
# cd /usr/local/www/phpMyAdmin
cp config.sample.inc.php config.inc.php
ee config.inc.php
$cfg["blowfi sh_secret"] = "şifre";
Şimdi Apache yapılandırma dosyasını tekrar ve genel olarak açıyoruz:
1.
Bölümde
Takma ad /phpmyadmin /usr/local/www/phpMyAdmin
2.
Örneğin bölümler
Sipariş izin ver, reddet
Tümünden izin ver
Burada PHPMyAdmin'e yalnızca kontrol panelinden erişime izin vermek için "123.456.789.0/12'den izin ver" komut dosyasına "Tümünden izin ver" komutu eklenebilir. Apache'yi yeniden başlatmak:
Hepsi bu kadar, artık (L)AMP çalışmaya başlayabilir.
HTTPS
PHPMyAdmin'in düzgün çalışması için HTTPS desteği gerekecektir ve gelecekte istemci ile site arasında güvenli, şifrelenmiş bir bağlantı kurmak için bu protokole ihtiyaç duymanız tamamen mümkündür. Bu yüzden Apache'yi daha akıllı hale getirmek önemlidir.
Başlangıç olarak, aşağıdaki satırları ekleyerek OpenSSL yapılandırma dosyasını (/etc/ssl/openssl.cnf) düzeltebiliriz:
# Sertifikaların kaydedileceği dizin
dir = /root/sslCA
Sertifika süresi (~10 ruble)
default_days = 3650
Şimdi resmi sertifika merkezi için bir katalog hazırlıyor ve sertifikalar oluşturuyoruz:
mkdir SSLA
chmod 700 sslCA
chmod 700 sslCA
mkdir özel
cd sslCA
openssl req -new -x509 -days 3650 -uzantılar v3_ca
Keyout özel/cakey.pem -out cacert.pem
-config /etc/ssl/openssl.cnf
Sertifikaların başarıyla oluşturulduğunu doğrulayalım:
# ls -l cacert.pem özel/cakey.pem
Apache için sertifikalar üretiyoruz ve bunları /etc/ssl dizinine yerleştiriyoruz:
# cd /root/sslCA
openssl req -new -nodes -out ana bilgisayar adı-req.pem
Anahtar çıkışı özel/ana bilgisayar adı-anahtar.pem -config /etc/ssl/openssl.cnf
openssl ca -config g /etc/ssl/openssl.cnf -out
Ben host-cert.pem -dosya adı host-req.pem
cp /root/sslCA/anasistem adı-cert.pem /etc/ssl/crt
cp /root/sslCA/private/anasistem adı-anahtarı.pem /etc/ssl/key
Apache yapılandırma dosyasını tekrar açıyoruz, sonraki satırı biliyoruz ve açıklamasını kaldırıyoruz:
# ee /usr/local/etc/apache22/httpd.conf
Etc/Apache22/extra/httpd-ssl.conf'u ekleyin
/usr/local/etc/Apache22/extra/http-ssl.conf dosyasında aşağıdaki değişiklikleri yapıyoruz:
# ee /usr/local/etc/Apache22/extra/http-ssl.conf
HTTPS sunucu adı
SunucuAdı ssl.host.com
Sertifikayı ve anahtarı bulmak için dosyaya gidin
SSLCertificateFile /etc/ssl/crt/anasistem adınız-cert.pem
SSLCertificateKeyFile /etc/ssl/key/anasisteminizin-anahtarı.pem
Başı ağrıyanlar aynı
DocumentRoot "/ev/www/veri"
Günlükler nereye yazılır?
ErrorLog "/var/log/httpd-error.log"
TransferLog "/var/log/httpd-access.log"
Apache'yi yeniden başlatmak:
# /usr/local/etc/rc.d/apache22 yeniden başlat
Sıradaki ne?
Bu makalede, FreeBSD'de (FAMP'tan daha pahalıdır) pratik bir (L)AMP yığınının nasıl oluşturulacağını ve en sevdiğiniz web sitesi motorunu almak ve onu /home dizininde / www içinde çalıştırmak için şimdi oluşturmanız gereken her şeyi gösteriyorum. /data (komut dosyasını /home/www/cgi-bin dizinine koymayı unutmayın). Reshta şarap (L)AMP'yi alır.
LAMP yığını (Linux/Apache/mysql/php), satıcılar arasında en büyük web sitesi geliştirme teknolojileri kümesidir. Aslına bakılırsa LAMP'ta çalışmaya yönelik barındırma amaçlı bir dizi hazır VDS görüntüsünü üzerlerine hızlı dağıtım için parçaladık. Bu görüntülerin geliştirilmesindeki temel prensip, bir VDS'de barındırılan sitelerin, farklı bir görüntüye (başka bir temel yazılım seti) ve VDS'nin tüm ana görevlerine dayalı olarak kolaylıkla başka bir VDS'ye taşınabilmesi için ayarlamanın tekdüzeliğini sağlamaktı. VDS'den herhangi birinin yönetim talimatı, sunulan görüntülerden herhangi birine dayanarak aynı türde çizilmiştir. Ayrıca sunucuya yeni siteler eklemenin, sitede onlar için klasör oluşturmak kadar kolay olmasının da önemli olduğunu düşündük. Sonuç olarak Debian Wheezy, Ubuntu Precise Pangolin ve Ubuntu Trusty Tahr dağıtımlarını temel alarak aşağıdaki seti oluşturduk:
- Nginx + Apache2 + PHP 5.4 (FastCGI) + MariaDB 5.5 + phpMyAdmin + sftp
- Nginx + Apache2 + PHP 5.4 (mod_php) + MariaDB 5.5 + phpMyAdmin + sftp
- Nginx + PHP 5.4 (php-fpm) + MariaDB 5.5 + phpMyAdmin + sftp
1. Bitmiş görüntülerin harici açıklaması
Tüm görseller sistemin ana ve tek bileşeninin hangi scriptlerin çalıştığı ve web bileşenleri olarak da bilinen diğer tüm eylemlerin derlendiği isim olduğu gerçeğine dayanmaktadır. Ubuntu'da kabul edilen konuşma sırasına benzer şekilde, Debian tabanlı görüntülerde, kök adı altındaki doğrudan robotun çalışmasına izin verilmez (engellenir) ve sudo aracılığıyla web kullanıcı adına, herhangi bir komuttan çıkış yapma yeteneği verilir. bir süper kullanıcının ayrıcalıkları. Bu nedenle, ssh'den yeni VDS'ye giriş yapmak için şu komutu girmeniz gerekir:
$ssh [e-posta korumalı]
Ssh ile giriş yapmak aynı zamanda sftp protokolünü de destekler. Bağlantılar, VDS oluşturulduğunda oluşturulan aynı web kullanıcı adı ve şifre kullanılarak veya VDS oluşturulurken belirtilen ek bir anahtar yardımıyla yapılabilir.
Giriş yaptıktan sonra VDS görsellerimizin ana klasörü olan /var/www/web klasörünü bulacaksınız. Burada siteler klasörünü bulacaksınız - bu, sitelerinizin bulunduğu klasördür. Yeni site eklemek için siteler klasörünün ortasında yeni site adı altında www öneki olmadan bir alt klasör oluşturmanız yeterlidir. . Fiyatla ilgili rapor daha düşük.
Sitelerinizi barındırmaya yönelik apache logları /var/log/Apache2 klasörüne, kurulu olan nginx ise /var/log/nginx klasörüne yazılacaktır. PHP betiklerinde hata olması durumunda bunlarla ilgili bilgiler /var/www/web/php-errors.log dosyasına yazılır.
2. Sitelerin eklenmesi
Sitelerin eklenmesi- Bu, toplu sanal barındırma için en sık gerekli olan işlemdir, bu nedenle bunu mümkün olduğunca basit hale getirmeye çalıştık. Sunucunuza yeni bir mycompany.ru sitesi eklemek için iki basit adımı tamamlamanız gerekir:
- /var/www/web/sites klasörü için mycompany.ru adında bir alt klasör oluşturmanız gerekir, böylece www'siz alan adı buna eklenebilir. . Bu babanın sitesine senaryolarla katkıda bulunması gerekecek.
- Sağlayıcınızdaki, size DNS'ye bir alan adı park etme hizmeti veren DNS düzenleyicisi aracılığıyla, VDS'nizin IP adresini belirtmek için A kayıtları eklemeniz gerekecektir: biri mycompany.ru adı için, diğeri şirket adı için. www.sirketim.ru.
Takma ad eklendi(siteniz için alternatif bir ad) daha az basit olmayan bir işlemdir. www.mycompany.ru takma adını mycompany.ru sitesine eklemeniz gerekiyorsa, iki şeye ihtiyacınız olacaktır:
- Sembolik bir görüntü (sembolik bağlantı) oluşturun: cd /var/www/web/sites & ln -s mycompany.ru www.mycompany.ru
- DNS'de sunucunuzun IP adresini belirten A kayıtları oluşturun: www içeren bir ad için. www olmayan.
DNS ile domain park etme hizmetini hiçbir maliyet ve kısıtlama olmaksızın tüm müşterilerimize sağladığımızı hatırlatmak isteriz. Alan adlarını ns sunucularımıza devretme talimatları size gönderildi.
3. MySQL (MariaDB) ile çalışma
Yeni VDS oluşturmalarda MySQL root kullanıcısının erişim şifresi özel bir yöntem kullanılarak oluşturulur. Komutu kullanarak şifreyi öğrenebilirsiniz.
Sudo cat /root/.my.cnf
MySQL'i konsoldan çalıştırmak istiyorsanız tek yapmanız gereken sudo -H mysql komutunu parametresiz çalıştırmaktır ve şifre girmenize gerek kalmadan hemen MySQL konsoluna yönlendirileceksiniz. Bu sistem kurulumu sizi kontrol etmiyorsa, şifrenizi önceden kaydederek .my.cnf dosyasını güvenle silebilirsiniz.
MySQL yapılandırma dosyası standart bir ortamda ayarlanmıştır, ancak bu düzenleme için süper kullanıcı haklarına ihtiyacınız olacaktır:
Sudo nano /etc/mysql/my.cnf
Değişiklikleri doğru yapmak için MySQL'i yeniden başlatmanız gerekir:
Sudo hizmeti mysql yeniden başlat
4. PHP'yi kurma ve uzantıları yükleme
Sistem, Debian/Ubuntu depolarından standart PHP kurulumuna sahiptir; PHP ayarlaması ve uzantı kurulumu, debian tabanlı dağıtımlar için standart şekilde gerçekleştirilir. Php.ini dosyası çeşitli depolama bölümlerinden toplanır: ana php.ini dosyasından ve conf.d dizini yerine. PHP'nin FastCGI sürümü için ayarlar /etc/php5/cgi klasöründen, mod_php için - /etc/php5/apache2 klasöründen, CLI sürümü için (yani, /usr/bin/php ) alınır. cron işi için kullanılan php sürümüdür Diğer ayarlar konsola kaydedilecektir) - /etc/php5/cli. Php-fpm sürümü aslında /etc/php5/fpm klasöründeki php.ini dosyasının vikory sürümüdür.
Sunucu konsoluna şu komutu girerek sisteminizde hangi PHP uzantılarının yüklü olduğunu kolayca görebilirsiniz:
$dpkg-l | grep php
Şu komutu kullanarak mevcut php uzantılarının listesine bakabilirsiniz:
$ apt-cache arama php5
Yeni sisteminizde apt-cache/apt-get komutlarını ilk kez çalıştırmadan önce sudo apt-get update’e göz atmayı unutmayın.
Listede ihtiyacınız olan uzantıları ayarlamak çok kolaydır. XCache hızlandırıcısını sisteme eklemek istememiz mümkündür. Son paket php5-xcache olarak adlandırılacak ve süper sunucu ayrıcalıklarına sahip olan paketi kurma komutu şöyle olacaktır:
$ sudo apt-get install php5-xcache
Sürüm 5.4 ile başlayan PHP sürümleri, ayarlarda (date.timezone) açık bir saat dilimi göstergesi gerektirir ve UTC saat dilimi ayarların arkasında ayarlanır. Bu ayar /etc/php5/Apache2/conf.d/local.ini dosyasında belirtilmiştir. Bunları tam olarak kendi standartlarınıza göre değiştirmeniz gerekir.
Hazır görsellerimize dayanarak sisteminizin güç kaynağında sorun yaşamanız durumunda her zaman teknik desteğimize başvurabilirsiniz.
5. uWSGI yardımıyla Django'yu başlatmak
Django, Python kullanarak dinamik web uygulamalarını hızlı ve kolay bir şekilde ayrıştırmanıza olanak tanıyan harika bir çerçevedir.
Kurulum /var/www/ adresinde barındırılan sitelerin çalışmasını aksatmayacak şekilde gerçekleştirilir.
Sunucu adları, kullanıcı adı kökü altında adlandırılır.
Kurulum talimatlarını göster
5.1 Paketlerin kurulması ve uWSGI'nin başlatılması
Robot için gerekli paketleri kurun ve ayrıca varsayılan sürüm olarak pip'ten uwsgi sürümünü seçin:
Apt-get update && apt-get install -y python-pip python-dev uwsgi-plugin-python uwsgi && pip install virtualenv virtualenvwrapper uwsgi && update-alternatives --install /usr/bin/uwsgi uwsgi uwsgi 80
Kurulum 2-3 kurulum gerektirir ve kurulan paketler yaklaşık 300 MB disk alanı kaplayacaktır.
Sistemdeki hesabı silelim, yenisine geçelim ve ayrıca yeni bir sistem profili ekleyelim
Useradd -s /bin/bash -m -p $(pwgen -1 -N 1) project1 && su - project1 -c "echo "export WORKON_HOME=~/Env" >> ~/.bashrc && echo "source /usr/ local/bin/virtualenvwrapper.sh" >> ~/.bashrc" && su - proje1
Sanal olarak oluşturulabilir, yeni Django'ya kurulabilir ve projemizi oluşturabiliriz
Cd ~ && mkvirtualenv ilk site && pip install django && Django-admin.py startproject ilk site
Projenin kolayca yeniden okunması için dosyayı oluşturuyoruz
~/firstsite/touch_reload'a dokunun
Projeye konfigürasyonu tekrar okumak için uwsgi komutunu göndermek için bu komuttan project1 kullanıcı adı ile çıkış yapmanız yeterli olacaktır. Projenin geliştirilmesi, sunucuya root erişimi olmayan tam bir sunucu içeriyorsa bu daha da kolay olabilir; sunucu yöneticisinin, uwsgi'yi yeniden başlatmak için hemen root olarak oturum açması gerekmeyecektir.
Ctrl+D tuşlarına hızlıca basarak kök hesap oturumuna dönelim.
Artık çözünür yapılandırma dosyası projemiz için uwsgi
Mcedit /etc/uwsgi/apps-enabled/firstsite.ini
Bunu yenisine kopyalayacağım (kopyalanan metinde değişiklik yapmanıza gerek yok):
Proje = ilk site kullanıcı ana dizini = /home/proje1 chdir = %(userhomedir)/%(project) home = %(userhomedir)/Env/%(project) module = %(project.wsgi:application işlemleri = 4 iş parçacığı = 2 chown -socket = www-data uid = project1 gid = project1 vakum = true touch-reload = %(userhomedir)/%(project)/touch_reload buffer-size = 8192 listen = 128 harakiri = 300
Mcedit'te tasarruf etmek için klavyenizdeki F2 tuşuna basmanız yeterlidir.
Uwsgi sunucusunu başlat
/etc/init.d/uwsgi başlat
5.2 Nginx için yapılandırma dosyası oluşturma
Sunucunun IP adresini bilmemiz gerekecek. Yogo komuta hayret edebilirsin
Ana makine adı -I
Nginx için yapılandırma dosyasını oluşturalım
Mcedit /etc/nginx/sites-available/firstsite
Gelecek metinde bunu hatırlıyorum
Sunucu ( sunucu ipini dinle:80; sunucu_adı sitenameru; konum = /favicon.ico ( erişim_oturum açık; log_bulunamadı; ) konum /statik/ ( root /home/proje1/ilk site; ) konum / ( uwsgi_params'ı dahil edin; uwsgi_pass un run/uwsgi/ uygulama/ilksite/soket; ))
Bu yapılandırma dosyası için, sunucu ipini sunucunuzun IP adresine, site adını ise projenizin bulunduğu alanın adına değiştirmeniz gerekir.
Yapılandırma dosyasının oluşturulmasını etkinleştiriyoruz ve yapılandırmayı yeniden okumak için nginx'e bir sinyal gönderiyoruz
Ln -s /etc/nginx/sites-available/firstsite /etc/nginx/sites-enabled/ && nginx -s yeniden yükle
Hazır! Sitenameru etki alanı için DNS kaydı sunucunun IP adresine işaret ediyorsa, projeniz de sitenameru adresinin arkasından erişilebilir olmaktan suçludur.
5.3 Statik dosyaların görünümünü optimize etme
Proje karmaşıksa ve statik dosyaları optimize etme ihtiyacı varsa komutunu kullanmanız yeterli olacaktır.
Su - proje1 ilk sitede çalışıyor
Firstsite/firstsite/settings.py dosyasının sonuna statik dosyaları döndürmeyle ilgili bir bilmece eklendi
Echo "STATIC_ROOT = os.path.join(BASE_DIR, "statik/")" | tee -a ~/ilksite/ilksite/settings.py
Statik dosyaları toplamak için betiği çalıştıralım
~/firstsite/manage.py koleksiyonstatik
Komut dosyasıyla çalışmaya başlamak için onu evet olarak ayarlamanız gerekir.
Bu makale, LAMP adı verilen kapsamlı ve pratik olarak ücretsiz bir yazılım setine kapsamlı bir bakış sunmaktadır. Bu kısaltma nasıl doğru şekilde çözülebilir? Bu bağlantının parçası olan 4 popüler teknolojiden oluşur:Linux- işletim sistemi;- Web sunucusu;MySQL-DBMS; - web kaynakları oluşturmaya yardımcı olacak hareketli programlama.
Bu yazılım seti, dinamik web sitelerini ve web eklentilerini görüntülemek için sunucuya yüklenir. Bu platform, sunucunuza çoğu web sitesi türünü ve arka uç yazılımını yüklemenize (çalıştırmanıza) olanak tanır.
LAMP kombinasyonu – bu:
- gerekli görevleri tamamlamak için sunucu işletim sistemi Linux;
- Web sunucusunun karmaşık çalışmasına ve çeşitli programlama dilleri tarafından yazılan komut dosyalarına güç sağlamak için bir dizi ek modülün oluşturulduğu Apache web sunucusu;
- dinamik komut dosyalarının sunucu dili PHP (veya Perl);
- MySQL DBMS, SQL sorgularının yürütülmesinde mükemmel esneklik gösterir ve küçük ve orta ölçekli projeler için idealdir. MySQL buna odaklanır ve kullanımı özellikle güvenilirdir.
Ne tür bir LAMBA'ya ihtiyacınız var?
- Bazen web geliştirme için LAMP için yazılmış programların test edilmesine ihtiyaç duyulur. Bu hem güç programları hem de ihtiyaç duyabileceğiniz herhangi bir CMS için geçerlidir. Windows ve Ubuntu'da çalıştırabilirsiniz;
- Projelerinizi belirlenen sunucu üzerinde veya üzerinde barındırmak için verimli bir web sunucusu oluşturmanız gerekiyorsa;
- Versiyon kontrol sistemleri için nasıl bir sunucuya ihtiyacınız var?
- öz-yönetim için;
- bir bulut sunucusu oluşturmak için ekonomik amaçlar için.
Yak wagome bu katlamanın avantajı : Programları basit yapılandırmayla hızlı bir şekilde çalıştırmak için harikadır, ancak ölçek ve bileşenlerin yalıtımı açısından hala çok az işlevsellik sağlar.
Sered benzer kompozisyondan birkaç parça Aşağıdakileri görebilirsiniz:
Uygulama ve veritabanı aynı sunucu kaynaklarını (CPU, bellek, I/O vb.) kullanır, bu da düşük verimlilik sağlar ve iş yükünü (uygulama ve veritabanı) karmaşık hale getirir ve sorunlara neden olur. Mevcut yatay ölçeklendirmede de sorunlar var.
LAMP Kurulumu (Linux + Apache + MySQL + PHP/Perl/Python) Ubuntu ile sunucu kurmak için oldukça popüler bir seçenek var. Açık kaynak kodu yazan ve LAMP program yığını kullanılarak yazılan çok sayıda program vardır. Popüler LAMP programları: wiki ansiklopedisi, yönetim sistemleri (CMS) ve diğer programlar, örneğin phpMyAdmin.
LAMP'ın önemli bir avantajı veritabanlarını, web sunucularını ve komut dosyalarını seçerken esnekliğidir. MySQL'in şu anki alternatifi PostgreSQL ve SQLite'dir. Python, Perl ve Ruby'nin yerini PHP alabilir. Ve Nginx, Cherokee ve Lighttpd Apache'ye bir alternatiftir.
LAMP'ı hızlı bir şekilde kurmak için Tasksel'i kullanın. Tasksel, sisteminize bir dizi eski paketi eksiksiz bir paket olarak yükleyen bir Debian/Ubuntu aracıdır.
Ne istiyorsunVPS sunucularımızdaki LAMP robotunu iyileştirin , sağlıklı teknik desteğimizin keyfini çıkarın! Şirket Hiper Ana Bilgisayar™ Size harika bir iş diliyorum!
HyperHost barındırma raporu tarafından desteklenen teknolojiler.
9946 kez 2 Bugün kez görüntülendi
Müşterilerinize web siteleri oluşturmanın, bunları sunucuda saklamanın ve test etmenin harika olanaklarını gösterin. Pek çok kişi, düzgün yapılandırılmış Apache ve MySQL'in sunucularla manuel olarak çalışmanıza izin verdiğini açıkça düşünüyor. Şimdi LAMP hakkında bilgi edinmenin, neyle ilgili olduğunu öğrenmenin ve ayrıca Ubuntu'da bir LAMP sunucusunun nasıl kurulacağını ve yapılandırılacağını anlamanın zamanı geldi.
LAMP'ı yüklemek bir web sunucusu oluşturmanıza olanak tanır.
LAMP, ilk başta düşünebileceğiniz gibi bir program ve bir sunucudur. Bu kısaltma, sunucu tabanlı yazılım yığınını ifade eder: Apache, MySQL, PHP. İncelemeler ve isimler cilt bakımı programlarının ilk basımlarıdır. İlk harf Linux'tan alınmıştır.
Bileşenler hakkında rapor verin.
- Apache değerli bir HTTP sunucusudur.
- MySQL güçlü ve maliyetsiz bir veritabanı yönetim sistemidir. Birçok web sitesinde Vikorist.
- PHP bir programlama dilidir. Yeni web ekleri genellikle Yeni'ye yazılır.
Tüm bu yazılımlar basit ve ortada web sitelerini barındırmak için pratik olarak vazgeçilmezdir. Kurulumunu öğrenme ve alışma yeteneğimi kaybettim.
LAMP yüklü
LAMP çeşitli şekillerde kurulabilir. Böylece, bir program kompleksi olarak cildinize bunlarla ayrı ayrı bakım yapabilir veya aynı anda daha iyi çalışabilirsiniz. Bunun için Tasksel'i hızlı bir şekilde kurmanın daha kolay olduğu:
sudo görevsel lamba sunucusunu yükle
Tasksel, Ubuntu üzerinde kurulu olan ve çeşitli yazılım paketlerinin sisteme kurulumunu kolaylaştıran özel bir araçtır. Kurulum saatinde sistem sizden MySQL için bir şifre girmenizi isteyecektir. Para kazanmak gereklidir.
Viluchennya
Tek bir komutla yığını tamamen silebilirsiniz:
sudo görevsel lamba sunucusunu kaldır
Tüm bileşenler kurulacak: PHP 7, Apache, MySQL. Manuel robotlar için otomatik aktivasyona programlar eklenebilir. Bunu değiştirmek istiyorsanız ek parametrelere gidin: Sistem - Seçenekler - Çalıştırılacak programlar. Orada lamba bileşenlerini kolayca çıkarabilirsiniz.
Kurulum ve ayarlama
Yine de çoğunlukla test sunucusundan hemen kurtulmak veya çalışan sunucuyu kurmak istiyorum. Daha sonra aşağıdaki talimatları izleyin.
Sunucu kuruyoruz ve web sitesi ekliyoruz
Bir LAMP sunucusu kurmak en önemli kısımdır; Ubuntu'ya MySQL, Apache, PHP 7 kurulumu zorlaşmaz. Daha sonra program koduyla çalışmanız gerekecek.
sudo ln -s /etc/phpmyadmin /var/www
Sunucu yapılandırmasını açıp düzenliyoruz:
sudo nano /etc/apache2/apache2.conf
Satırın sonuna eklendi:
SunucuAdı yerel ana bilgisayar:80
Host dosyasını açma:
Bir satır ekleyelim:
Yeni site için Robo yapılandırma dosyası:
‹VirtualHost *:80›
ServerAlias testsite.ru www.testsite.ru
DocumentRoot /home/server/testsite.ru
‹Dizin anasayfa/sunucu/testsite.ru/›
İzin Ver Tümünü Geçersiz Kıl
‹/Dizin›
‹/VirtualHost›
Bu dosyayı kök haklarına sahip olarak buraya yerleştiriyoruz: /etc/apache2/sites-available/
Site etkinleştiriliyor:
sudo a2ensite testsite.ru
Sunucuyu yeniden başlatmak:
sudo /etc/init.d/apache2 yeniden başlat
Bir web sitesi için bir taraf oluşturulması
Lütfen yan tarafa dikkat edin - index.php dosyası sitededir (home/server/testsite.ru).
Buraya girin:
‹?
echo 'Merhaba!!!';
?›
Yani her şeyi girebilirsiniz, ancak yalnızca sunucunun verimliliğini kontrol etmek gerekir.
Web sitemizi bir tarayıcı aracılığıyla açın: web adresini arka arkaya girin.
Bundan sonra “Merhaba!!!” diyebiliriz. Anlaşıldığı üzere, her şey doğru şekilde ayarlandı. Artık bu baba, LAMP'ta test edilen tam teşekküllü bir web sitesine ev sahipliği yapabilir. Klasör ve web sitesi adresi elbette değiştirilebilir.
Artık Ubuntu'ya MySQL, Apache, PHP (LAMP) kurmanın ve ayarlamaların başlangıçtaki kadar korkutucu olmadığını biliyorsunuz. Her şey yazılımın temel işlevselliği ile ilgilidir. Yakında tüm programı vikorize etmeyi öğreneceksiniz.