LAMBA nedir? Avantajları ve eksiklikleri. LAMP sunucularının sorunsuz gelişimi için Dark VDS'nin özel görüntüleri MVC öğelerinin birlikte çalışabilirliği

Golovna / Google Oyun

Web eklentileri yığını altında, kapalı kaynak kodlu yazılım ürünlerinin gizliliğine saygı duyuyoruz: işletim sistemi, web sunucusu, veritabanı sunucusu ve paket kodun ortası. En bilinen ve önemli yığın LAMP'tır. Bu, kapalı kaynak kodlu özel çözümlere dayanan bir dizi web uzantısının kısaltmasıdır.

LAMBA-World Wide Web'de yaygın olarak kullanılan bir dizi (karmaşık) sunucu yazılımını ifade eden bir kısaltma. Depoda bulunan bileşenlerin ilk harflerinin LAMP adları:

    L inux işletim sistemi Linux;

    A pak-Web sunucusu;

    M ariaDB/ M ySQL-DBMS;

    P Web eklentileri oluşturmak için kullanılan HP yazılımı (PHP'ye ek olarak Perl ve Python gibi diğer diller de anlaşılabilir).

LAMP kısaltması şu anlamlarda kullanılabilir:

    Web sunucusu altyapısı

    Programlama paradigması

    Yazılım paketi

seninle başlamak istiyorum yazılım ürünleri Tek tek çalışmak için özel olarak tasarlanmadığından, böyle bir bağlantı esnekliği, üretkenliği ve düşük kullanılabilirliği nedeniyle daha da popüler hale geldi (tüm depolar açık havadadır ve İnternet'ten kolayca erişilebilir). LAMP seti çoğu Linux dağıtımının stoğuna dahildir ve birçok barındırma şirketinden temin edilebilir.

Linux, isteklerin alınmasını/iletimini sağlar (aktarımı kontrol eder) ve her şeyin çekirdeğidir - bir sunucu, bir DBMS, bir dil desteği.

Ubuntu'da Kurulum

Aşağıdaki paketleri kurmak gereklidir:

Yerel paket listesini güncellemek için apt-get update komutunu çalıştırdıktan sonra, aynı apt-get install komutunu kullanarak tüm paketleri kurabilirsiniz:

Yukarıdaki komuta tıkladıktan sonra bu paketleri ve diğer öğeleri yüklemeniz istenecektir. MySQL için yönetici şifresini ayarlamadan önce devam etmek ve diğer istemlerle devam etmek için “y” tuşuna basın ve ardından ENTER tuşuna basın.

Bu, minimum aramayı ayarlamanıza olanak tanır PHP uzantısı, gerekli PHP ve MySQL bağlantısı.

Linux işletim sisteminin özellikleri ve avantajları

Kedi çiftliği yok.

Güvenilirlik. PC'nizin donanımının doğru çalışması, Linux'un yeniden başlatmadan veya donmadan sorunsuz çalışmasını sağlar. Sıfırlama düğmesine hiçbir zaman ihtiyaç duyulmaz.

Emniyet Linux'ta neredeyse hiç virüs yoktur. İşletim sisteminin kendisi gereksiz programları kapatır.

Çıkış kodu. Bu size kodu kendi takdirinize bağlı olarak değiştirme ve düzenleme fırsatı verir.

Apache'nin temel avantajları yapılandırmanın güvenilirliği ve esnekliğidir. Veri aktarımı ve veri toplama için harici modülleri bağlamanıza olanak tanır. DBMSİçin kimlik doğrulama koristuvachiv, o zaman değişikliklerle ilgili bildirimi değiştirin.

huysuzluk MySQL DBMSçok sayıda tablo türü tarafından desteklenecektir: kullanıcılar bir tablo türü arasından seçim yapabilir MyISAM tam metin aramasını teşvik eden tablolar da öyle InnoDBİşlemleri diğer kayıtlardan daha yakından destekleyen. Ayrıca MySQL DBMS, yeni tablo türleri oluşturmanın ilkelerini gösteren özel bir EXAMPLE tablo türüyle birlikte gelir. Açık mimari ve GPL lisanslaması nedeniyle MySQL DBMS'de sürekli olarak yeni tablo türleri ortaya çıkmaktadır.

PHP - senaryo dili Web eklentilerinin geliştirilmesinde yoğun bir şekilde duraklayan temel öneme sahiptir. Bu dönemde çok büyük önem taşıyor barındırma sağlayıcıları Ve o, yaratılışı formüle edecek olan dünyanın ortasının liderlerinden biridir. dinamik web siteleri .

Web eklentileri yığını altında, kapalı kaynak kodlu yazılım ürünlerinin gizliliğine saygı duyuyoruz: işletim sistemi, web sunucusu, veritabanı sunucusu ve paket kodun ortası. En bilinen ve önemli yığın LAMP'tır. Bu, kapalı kaynak kodlu özel çözümlere dayanan bir dizi web uzantısının kısaltmasıdır.

LAMBA- World Wide Web'de yaygın olarak kullanılan bir dizi (karmaşık) sunucu yazılımını ifade eden bir kısaltma. Depoda bulunan bileşenlerin ilk harflerinin LAMP adları:

· L inux-işletim sistemi Linux sistemi

;

· A pak- Web sunucusu;

· M ariaDB/ M ySQL – DBMS;

· P HP, web eklentileri oluşturmak için kullanılan bir dil programıdır (PHP dahil ve Perl ve Python gibi diğer dillere benzer olabilir).

LAMP kısaltması şu anlamlarda kullanılabilir:

1. Web sunucusu altyapısı

2. Programlama paradigması

3. Yazılım paketi

Her ne kadar başlangıçta bu yazılım ürünleri tek tek çalışacak şekilde özel olarak tasarlanmasa da, bu kombinasyon esnekliği, üretkenliği ve düşük hacmi nedeniyle (tüm depoları mühürlenmiştir ve İnternet tarafından kolaylıkla işgal edilebilir) daha da popüler hale gelmiştir. LAMP seti çoğu Linux dağıtımının stoğuna dahildir ve çok sayıda barındırma şirketinden temin edilebilir.

Linux, isteklerin alınmasını/iletimini sağlar (aktarımı kontrol eder) ve her şeyin çekirdeğidir - bir sunucu, bir DBMS, bir dil desteği.

Ubuntu'da Kurulum

Aşağıdaki paketleri kurmak gereklidir:

Yerel paket listesini güncellemek için apt-get update komutunu çalıştırdıktan sonra, aynı apt-get install komutunu kullanarak tüm paketleri kurabilirsiniz:

Yukarıdaki komuta tıkladıktan sonra bu paketleri ve diğer öğeleri yüklemeniz istenecektir. MySQL için yönetici şifresini ayarlamadan önce devam etmek ve diğer istemlerle devam etmek için “y” tuşuna basın ve ardından ENTER tuşuna basın.

Bu, PHP'yi MySQL ile yüklemek için gereken minimum sayıda PHP uzantısını yüklemenize olanak tanır.



Linux işletim sisteminin özellikleri ve avantajları

Kedi çiftliği yok.

Güvenilirlik. Doğru robot Bilgisayarınızın donanımını kullanarak Linux'un yeniden başlatmadan veya donmadan sorunsuz çalışmasını sağlayın. Ve Sıfırla düğmesine hiçbir zaman ihtiyaç duyulmaz.

Emniyet Linux'ta neredeyse hiç virüs yoktur. İşletim sisteminin kendisi gereksiz programları kapatır.

Çıkış kodunu açın. Bu size kodu kendi takdirinize bağlı olarak değiştirme ve düzenleme fırsatı verir.

Apache'nin temel avantajları yapılandırmanın güvenilirliği ve esnekliğidir. Veri aktarımı ve veri toplama için harici modülleri bağlamanıza olanak tanır. DBMSİçin kimlik doğrulama koristuvachiv, o zaman değişikliklerle ilgili bildirimi değiştirin.

MySQL DBMS'nin esnekliği çok sayıda tablo türüyle sağlanır: kullanıcılar hangi tablo türünü seçebilir MyISAM tam metin aramasını teşvik eden tablolar da öyle InnoDBİşlemleri diğer kayıtlardan daha yakından destekleyen. Ayrıca MySQL DBMS, yeni tablo türleri oluşturmanın ilkelerini gösteren özel bir EXAMPLE tablo türüyle birlikte gelir. Açık mimari ve GPL lisanslaması nedeniyle MySQL DBMS'de sürekli olarak yeni tablo türleri ortaya çıkmaktadır.

PHP- senaryo dili Web eklentilerinin geliştirilmesinde yoğun bir şekilde duraklayan temel öneme sahiptir. Bu dönemde çok büyük önem taşıyor barındırma sağlayıcıları Ve o, yaratılışı formüle edecek olan dünyanın ortasının liderlerinden biridir. dinamik web siteleri .

3. Web eklentisi. Tasarım şablonu “Model-Konu-Denetleyici”.

Tasarım Deseni, belirli bir bağlamda sıklıkla ortaya çıkan büyük bir tasarım sorununu ortaya koyan mimari bir tasarımdır. Hangi son sınıfların veya program nesnelerinin analiz edileceğini belirtmeden, sınıflar ve nesneler arasındaki notları ve etkileşimleri göstermek OOP'ta gelenekseldir.

Model-Görünüm-Denetleyici. MVC tasarım modeli, verileri programlardan, arka uç arayüzünden ve çekirdek mantıktan üç bitişik bileşene aktarır: Model, Gönderim ve Denetleyici - böylece dış görünüm bileşeninde değişiklikler bağımsız olarak yapılabilir. Öncelikle bu şablon Smalltalk dili için 1970'li yıllara kadar geliştirilmekte olan çerçeve üzerine inşa edilmiştir. Artık istemci arayüzüne sahip çoğu çerçevelerde ana rolü oynuyor. Aksesuar tasarımına bakışı tamamen değişti.

Model verimlilikle doludur ve verilen görev için gerekli çözümleri sağlar. Model, ana görevin (iş mantığı) üst düzey mantığını içerir:

●verilerin programlarla (CRUD veya harici web hizmetleri) kaydedilmesi, silinmesi ve güncellenmesi;

●tüm program mantığının kapsüllenmesi ("aynı" denetleyicilerin hariç tutulması gerekir, yani iş mantığının bir kısmı denetleyiciye ve bildirimlere getirilemez).

CRUD - Oluşturun, Okuyun, Güncelleyin, Sil.

Model Verileri ve bunların yönetimini açıklar ve genellikle uygulama programlarının iş mantığı olarak adlandırılır. kalp. Bu belgede neleri kullanabileceğinizi ve nelerle etkileşimde bulunabileceğinizi açıklıyoruz. Uygulama programları. Kontrolör Model ile aidatlar arasında aracı görevi görür.
Şablonun Görünüm kısmını uygulayan ana mekanizma (aynı şey değil!) Şablon Motorudur.

MVC öğelerinin etkileşimi

MVC şablonunun dış görünüm öğesi diğer çok özel yöntemlerle birleştirilir. İletişim, başlangıçta kullanıcı ile program arasındaki etkileşimde başlatılan bir dizi adım aracılığıyla gerçekleştirilir. Sıra şöyle görünür:

  1. Kullanıcı arayüz öğesiyle etkileşime girer (örneğin, Sunumdaki bir düğmeye basmak).
  2. Teslimiyet, baskının bir sonucu olarak hareket etmesi için Kontrolör üzerindeki baskıyı zorlar.
  3. Kumanda, düğmeye bastığınızda bastığınız şeye göre modeli değiştirir.
  4. Model, Modelin durumundaki değişiklikler hakkında sizi bilgilendirir.
  5. Veriler, Modelin konumu hakkındaki bilgileri okur ve kendi kendine değişir.

4. Web eklentisi. Şablon motoru.

Şablon motoru (web'de) - tse güvenlik yazılımı son HTML sayfaları oluşturmak için HTML şablonlarını kullanmanıza olanak tanır. Şablon motorlarının ana metası, verilerin formatlanmış kodda sunumunun güçlendirilmesidir. Bu genellikle programcının ve düzen tasarımcısının paralel çalışma yeteneklerini sağlamak için gereklidir. Şablon motorları genellikle kodun okunabilirliğini azaltır ve daha önce değişiklik yapar. dış görünüm Projenin tamamen tek kişi tarafından tamamlanması durumunda.

Şablon motorları genellikle MVC paradigmasından ilham alır. Bu kavramlar birbiriyle ilişkilidir ancak aynı değildir.

Şablon oluşturmanın özü, sayfanın çerçevesini program kodundan güçlendirmektir. Sayfanın çerçevesi bitişik metin dosyasına (şablon) yerleştirilir ve veri girmenin gerekli olduğu yerlere özel sözde değişiklikler yerleştirilir. Komut dosyası gerekli şablonu seçer, yeni sözde değişikliği karşılık gelen verilerle değiştirir ve onu görüntüler.

HTML sayfaları için şablonlar oluştururken kullanılacak avantajlar:

· Her şeyden önce kodu temizleyin. Program kodu HTML koduna benzemez, okunması kolaydır. Aynı zamanda şablon yalnızca nereye ve hangi verilerin eklendiğinin açıkça belirtildiği HTML kodunu içerir (bunun için isimlere takma ad diyelim).

· Başka bir deyişle, yazılım ve HTML kodu bölümü, motoru ve tasarımı bağımsız olarak geliştirme yeteneği verir. Bitmiş sitenin mevcut görünümünü değiştirmek için herhangi bir programlama becerisi gerektirmeyen uygun bir şablonda değişiklik yapmak yeterlidir.

· Sitenin birden fazla tasarımı olabilir. Sitenin tasarımını tamamen değiştirmek için şablonların bulunduğu klasörün yolunu değiştirmeniz yeterlidir.

Avantajları:

· Dışarıdan ekin mantığı görüntülenir;

· Korumalı alan modu;

· mantık bloklarının veya ekran operatörlerinin düzgün dış görünümü;

· Platformlar (diller) arasında aktarım - yani. bir şablon ayrıştırıcı herhangi bir şekilde yazılabilir;

· Akıllı “düzen” şablonunun dili;

Başarılar hakkında

Kurtarma programının mantığının gücüne bakıldığında, kurtarma mantığının bölünmesinin gelişimde durgunlaşacağını söyleyebiliriz. - çoğunlukla eklentiler Yalnızca MVC modelini kullanırken. Tüm uygulamaların şablonlara nasıl dayandığını ve bağlam içinde mantığı nasıl görüntülediğini kendiniz görün MVC.

Platformdan bağımsız olarak şablonun dahili yalıtılmış mantığının tasarımını manuel olarak seçmenin etkili olması faydalı olabilir ( php, ROR, java), bu şablonları ayırıp verilerle birlikte sakladığımız anda karşılık gelenleri türetiyoruz. Ayrıca geliştiricilerin şablondaki program mantığına veya SQL ifadelerine müdahale etmeyeceğini de garanti eder.

Şablon düzenleyiciyi bilgilendirmek gerekirse, sözdizimi olasılığını sınırlayarak "sanal alan" modu daha da gelişmiş olabilir. Örneğin bu, kullanıcıların vikory hizmetinin materyallerini, html düzenini ve belirli tasarımlarını bağımsız olarak dağıttığı blog hizmetleri için geçerlidir.

5. Web eklentisi. İlişkisel veritabanları

İlişkisel veritabanı, aynı türdeki nesneler hakkında bilgi depolayan, birbirine bağımlı tabloların bir koleksiyonudur. Tablonun satırı bir nesne (örneğin, bir ürün, bir müşteri) hakkındaki verileri içerir ve tablonun sütunları Çeşitli özellikler bu nesnelerin nitelikleri (örneğin ad, ürün kodu, müşteriyle ilgili bilgiler). Kayıtlar, daha sonra tablonun satırları aynı yapıya sahiptir - nesnenin niteliklerini kaydeden alanlardan oluşurlar. Bu durumda dış görünüm alanı, nesnenin yalnızca bir özelliğini tanımlar ve tek bir veri türü içerir. Nesnenin çeşitli bilgi otoritelerinin görüntülenmesi dışında tüm kayıtlar aynı alanları içerir.

İlişkisel bir veritabanında, her tablonun bir birincil anahtarı vardır; bir alan ve tablonun her satırını toplu olarak tanımlayan alanların birleşimi. Bir anahtar birden fazla alandan oluşuyorsa buna depo denir. Anahtar benzersizdir ve kaydı benzersiz şekilde tanımlar. Anahtar değerlerin arkasında tek bir kayıt bulabilirsiniz. Anahtarlar ayrıca veritabanındaki bilgilerin düzenlenmesine de hizmet eder.

İlişkisel veritabanı tabloları tablo normalizasyonuyla desteklenebilir. Çizgilerin normalleştirilmesi, çoğaltma yapılmasına olanak tanıyan, veri tabanında aşırı olmayan tasarruf sağlayan ve veri tabanının bakımı için harcanan emeği ve israfı azaltan, bir biçimlendirme tablosunun tanımlanmasına yönelik resmi bir cihazdır.

Öğrenci tablosu oluşturalım ve şu alanları ekleyelim: Grup No., PIB, Kitap No., doğum tarihi, uzmanlık adı, fakülte adı. Bu tür bir organizasyon, israfı en aza indirmek için bilgileri kaydeder:

· bilgilerin çoğaltılması (uzmanlık alanı ve fakülte isimleri her öğrenci için tekrarlanır), bu nedenle DB yükümlülüklerini artıracaktır;

· Tablodaki her girişin düzenlenmesi gerektiğinden, tablodaki bilgilerin güncellenmesi işlemi yapılamamaktadır.

Normalizasyon tablosu bu eksiklikleri gidermeye yöneliktir. ? damarların üç normal şekli.

Persha normal bir formdur. İlişkisel tablo, yalnızca satırlarının her birinin herhangi bir alanında birden fazla değere sahip olmaması ve anahtar alanlarının her birinin boş olmaması durumunda ilk normal forma getirilir. Dolayısıyla, Öğrenci tablosundan öğrencinin adı için kayıtların seçilmesi gerekiyorsa, PIB yolu Takma Ad, Ad, Babaya göre bölümlerine bölünür.

Başka bir normal form. İlişkisel tablo, birinci normal formun faydalarını karşıladığından ve birincil anahtardan önce dahil edilmeyen tüm alanları, birincil anahtarla aynı işlevsel konumla ilişkilendirildiğinden, başka bir normal biçimde tanımlanır. Tabloyu başka bir normal forma getirmek için alanların işlevsel derinliğini belirlemek gerekir. Fonksiyonel derinlik alanlar - bu, bir bilgi nesnesi örneğinde, anahtar niteliğinin tek değerinin açıklama niteliğinin yalnızca bir değerine karşılık geldiği konumdur.

Üçüncüsü normal formdur. Tablo üçüncü normal formdadır çünkü anahtar olmayan alanları işlevsel olarak başka herhangi bir anahtar olmayan alanla aynı yerde bulunmadığından diğer normal formun faydalarını karşılar. Örneğin, Öğrenci tablosunda (Grup No., PIB, Salon Kitap No., Doğum Günü Tarihi, Muhtar) üç alan vardır - Salon Kitap No., Grup No., Muhtar geçiş konumundadır. Oda kitap numarasının altında grup numarası, grup numarasının altında ise Muhtar belirtilir. Geçişli konumu kaldırmak için Öğrenci tablosundaki bazı alanları başka bir Grup tablosuna taşımak gerekir. Tablolar şu şekilde görünecektir: Öğrenci (Grup No., PIB, Kitap No., Doğum Tarihi), Grup (Grup No., Muhtar).

İlişkisel tablolarda aşağıdaki işlemler mümkündür:

· Aynı yapıya sahip birleştirilmiş tablo. Sonuç- masa masası: önce önce arkadaş, sonra arkadaş (birleştirme).

· Aynı yapıya sahip Peretin masası. Sonuç olarak her iki tablodan da aynı kayıtlar seçilir.

· Aynı yapıya sahip farklı bir tablo. Sonuç olarak, kullanıcının kullanımına açık olmayan kayıtlar seçilir.

· Titreşim (yatay alt bölüm). Sonuç olarak şarkı söyleyen zihinlerde yankı uyandıran kayıtlar seçilir.

· Projeksiyon (dikey alt bölüm). Sonuç, bazı alanların çıktı tablosundan kaldırılmasıdır.

· İki tablonun kartezyen kombinasyonu Ortaya çıkan tablonun kayıtları, birinci tablonun kaydı ile ikinci tablonun kaydının birleştirilmesiyle elde edilir.

İlişkisel tablolar birbirine bağlanabilir ve daha sonra birden fazla tablodaki veriler aynı anda bağlanabilir. Veritabanı bilgilerinin değiştirilebilmesi için tablolar birbirine bağlanır. Cilt çiftleri tablosunun bağlantıları, içinde yeni ilkelerin bulunması sağlanacaktır.

öyle tipler var ki bilgi bağlantıları:

· bire bir;

· Bire çok;

· Zengin ve zengin.

Web eki. NoSQL.

“NoSQL” teriminin anlamlarından biri, belirli (veya genel) veri modellerinden ziyade ilişkisel bir model sağlamasıdır. Örneğin, geleneksel olarak başarılı NoSQL sistemleri, Redis veya Memcache gibi anahtar-değer çifti depolama sistemlerini içerir. Bu veri modeli son derece basittir; esasen anahtarların satır türünde olduğu ve değerlerin herhangi bir veriyi içerebildiği ilişkisel bir dizidir. Herhangi bir ilişkisel dizi gibi, bu tür sistemler de bir dizi işlemin verilerle etkileşimini teşvik eder - bir anahtarın değerini okuyun, bir anahtarın değerini yükleyin, bir anahtarı ve onunla ilişkili değeri silin. Bu tür sistemlerde "anahtar listesini alma" işlemi desteklenmeyebilir.

Başarılı NoSQL sistemlerinin bir başka örneği de belge kulübesidir. Bu tür kümelerdeki nesneler, güçlü bir yapıya sahip ilişkisel dizilerle karakterize edilir, böylece farklı nesneler tek ve aynı "tabloda" depolanabilir. Bu sınıftaki sistemlerin örnekleri MongoDB ve Cassandra'dır. Belirli bir temelde çok fazla veri depolandığı için verimliliğin büyük ölçüde değişebileceğini unutmamak önemlidir. Örneğin, aynı türdeki nesneleri kaydederek böyle bir "tablonun" nasıl optimize edileceği.

Özel NoSQL sistemlerinin üçüncü uygulaması grafik veritabanlarıdır. Bunlar, belirli bir veri yapısının işlenmesi için özel olarak uyarlanmıştır ve iş için çok miktarda veri gerektirir (çünkü standart ilişkisel uygulama, küçük görevlerde mucizevi bir şekilde başarısız olabilir).

NoSQL sistemlerinin en önemli kısmı en önemlisidir dosya sistemleri Ext4 ve NTFS gibi. Nesneleri düzgün bir format yerine hiyerarşik bir yapıda korumak için tasarlanmıştır. İlişkisel ve NoSQL veritabanlarının kendilerinin dosya sisteminin kendisinde saklanması gerekir ve bu iki alt sistem arasındaki etkileşim şu veya bu şekilde önem kazanır.

7. Web eklentisi. JavaScript'in gücü.

JavaScript, nesne yönelimli yeteneklerle yorumlanan programlamamdır.

Olasılık

Çıkış kodu yalnızca tarayıcıda değil aynı zamanda sunucu tarafında da çalıştırılabilir veya komut satırı Daha sonra web sayfaları için JavaScript'in uygulanmasına bakacağız. Günümüzün JavaScript'i gizli öneme sahip "güvenli" bir programlamadır. Bellek, işlemci ve tarayıcılara ilk yönlendirmede gerekli olmayan düşük seviyeli işlem yetenekleri sağlamaz.

Diğer olasılıklara gelince, her JavaScript açılışının derinliklerinde bir koku vardır. JavaScript tarayıcısı, sayfayı değiştirmeyi, ön uç ve sunucuyla etkileşimi içeren her şeyi halledebilir:

·Çeşitli animasyon efektleri ekleme

· Yerde tepki verin - fare düğmesinin hareketini, klavyedeki tuşlara basmayı kontrol edin

· Form alanına girilen verileri sunucuya göndermeden önce kontrol edin, bu da sunucudan ek girdilerin kaldırılmasını sağlar

· Çerezleri oluşturun ve okuyun, bilgisayarınızla ilgili verileri alın

· Tarayıcının tarayıcı için önemli olduğu anlamına gelir - büyüleyin gerekli taraf hangi tarayıcı için özel olarak tasarlanmıştır

· HTML öğeleri yerine değiştirin, yeni etiketler ekleyin, stilleri değiştirin

Obmezhennya

· Yardım için açmadığınız sürece JavaScript pencereleri ve sekmeleri kapatamaz

· Sayfanın çıkış kodunu çalamayız ve sayfadan metin veya görsel kopyalanmasını engelleyemeyiz.

· Alanlar arası istekleri yerine getiremeyiz veya başka bir alanda barındırılan web sayfalarına erişimi engelleyemeyiz. Farklı etki alanlarındaki sayfalar aynı anda farklı tarayıcı sekmelerinde görüntüleniyorsa, o zaman JavaScript kodu Bir alana ait olan, başka bir alandan web sitesi hakkındaki bilgilere erişime izin vermez. Bu, sayfası hesaba yatırılan paradan korunan alan adı sahibinin görebileceği özel bilgilerin güvenliğini garanti eder.

· Kullanıcının bilgisayarında bulunan dosyalara erişime veya web sayfalarının dışından erişime izin vermez, ancak bir uyarı: kurabiye ama onlar küçük metin dosyaları, JavaScript'in yazıp okuyabildiği.

Genel olarak işe yaramaz kodu yenmeyi daha da zorlaştırmak için işleri bu şekilde parçaladığımızı söyleyebiliriz.

8. Web eklentisi. Seredovishche Vikonanny. Web sunucusu kurulur ve yapılandırılır.

Apache sunucusu platformlar arası bir web sunucusudur, bugün en yaygın olanıdır, çünkü çoğu barındırma sitesinde kurulum ve örneğin bir web sunucusu gibi daha fazla kurulum kolaylığı Nginx.

Aynen böyle apache sunucusu Denwer ve xampp gibi paketler halinde sağlanır ve php apache daha da popüler bir pakettir. Apache yüklü pencereler, Linux talimatlar için aşağıda:

· Apache Linux'un yüklü olması

· Kurulmuş apache pencereleri

Yak pratsyuє Apache sunucusu:

· Döngüsel olarak içecek alır

· Sormak zorunda kalır

· İçerik üretir

· Kişisel içerik sağlar

Apache web, birden fazla alan adını tek bir IP adresine dağıtmanıza olanak tanıyan sanal bir ana bilgisayar mekanizmasına sahiptir. Cilde alan adı Ayarlarınızı yapabilirsiniz, Apache ayarları sitenizin kök dizinine kurulması gereken .htaccess dosyasında gerçekleştirilir.

Zamovchuvannyam için vikoristovuetsya olan Apache bağlantı noktası, 80. Skype dışında bazı programlarda sorun yaşayabilirsiniz. Bu sorunu çözmek için Skype'ta 80 numaralı bağlantı noktasını etkinleştirmeniz gerekir. Apache port 80 derslerini vikorist ediyorsanız, değeri değiştirebilirsiniz özelleştirilmiş ağ sunucu.

apache sitesinde büyük miktar Statikler (resimler) daha verimli kullanılır, aşağıdaki site açıktır Nginx. Bazen apache sunucusu + nginx gibi bir bağlantı olur, statik veri sağlamak için nginx kullanılır.

PHP'de programlamak için aşağıdaki bileşenleri yüklemeniz gerekir:

· apache veya başka bir web sunucusu;

· MySQL (+ web arayüzü aracılığıyla MySQL ile çalışmak için phpmyadmin).

Bu bileşenleri yüklemek için iki seçenek vardır:

· Hazır paketin kurulumu (xampp, denwer vb.)

· Tüm paketlerin kurulumu doğru

İlk defa her şey daha da basit; sadece paketi alıp kurun. Ancak güncellenen sürümlerde manuel kurulumda herhangi bir sorun yaşanmaz çünkü... Nasıl çalıştığını ve nasıl kurulduğunu zaten biliyorsunuz. Ayrıca paketlerde sorun yaşama olasılığınız da daha azdır.

Manuel kurulum:

· İndirilebilir ve kurulabilir apacheİle gönderilmiş

· MySQL'i kullanarak indirin ve yükleyin sen zv'yazku

· nasıl ilave kurulabilir phpmyadmin web arayüzü üzerinden MySQL kullanan robotlar için

Kurulumdan sonra veya herhangi bir değişiklik yaptıktan sonra yeniden etkinleştirmeniz gerekir. apache. "Başlat - yönetim - yönetim - hizmetler"e gidin ve orada Apache'yi bulun, sağ düğmeye basın ve içerik menüsü yeniden büyülemeyi seçiyoruz.

Çalışmak için sanal bir ana bilgisayar eklemeniz gerekir, böylece okuyabilirsiniz Burada.

Seredovişçe Vikonanny

eTBManager programı, veritabanı sunucusu sunucusu altında depolanan verileri işleyen bir JBOSS sunucu eklentisidir. MySQL verileri. Müşteriler programla bir İnternet tarayıcısından (IE, FireFox, Crohome vb.) çalışır.

Program bir fiziksel sunucuya (bilgisayar) kurulur. Operasyon Windows sistemi Tam SP kurulumuna sahip 2008 sunucusu.

Sunucudaki robotik programların güvenliğini sağlamak için güvenlik programını aşağıdaki sırayla kurun ve yapılandırın:

1. Veritabanı

1. MySQL veritabanı yönetim sunucusu.

2. eTBManager veritabanı.

2. Ek

1. eTBManager için JBOSS Java Uygulama sunucusu.

2. eTBManager yazılımı.

3. Web sunucusu

1. İstemcilerden gelen web isteklerini almak ve işlemek için Apache HTTPD.

2. Apache HTTPD ile JBOSS arasındaki etkileşimi sağlamak için mod_jk konektörü.

Programı yüklemek için ihtiyacınız olan her şey dahil Versiyonu saklayacağım Yazılım ve eğitim veri tabanına ftp:.ua adresinden anonim erişimle ulaşılabilir. Vikory'nin geri kalanı güvenlik programında ücretsiz olarak mevcuttur; geri kalan sürümler satıcı sitelerden indirilebilir. Geri kalan sürümler düzeltildi ve daha kararlı çalışabilir ancak tutarsızlık açısından test edilmedi.

9. Web teknolojilerinin geliştirilmesi. Web 1.0, Web 2.0.

Web 1.0, İnternet'e TPC/IP protokollerini tanıtan ilk nesil "Dünya Çapında Web"dir. İnternet öncesi dönemde sadece iki noktalı doğrusal bağlantılar olduğu gibi, Web'in (bilgi ağı) ortaya çıkışıyla birlikte basit, kesintisiz bir "sörf" yaratılmasına olanak tanıyan bir kanama morfolojisi kuruldu. "Kaynaklarda biriken her türlü bilgi de dahil olmak üzere bilgi alanları hakkında Web boyutları 1.0.

Pavutini'nin bu gelişim dönemi, HTML-köprü metni bağlantılarından statik sitelerin oluşturulması, bilgilerin sunuculardan istemciye pasif aktarımı ve bilgi akışlarının tek yönlü doğası ile karakterize edilir:

· Kaynak yaratıcılarından sunucuya manuel bilgi toplama akışı;

· Sunucudan istemcilere bilginin pasif dağıtım akışı.

Bu bir şarap ve çalkantılı gelişme dönemidir elektronik kütüphaneler, internetteki bilgi katalogları

Web 2.0, eğer diyalog sistemi kaynağı - istemci, istemci - sunucu - büyük ölçüde genişlemişse, etkileşimli bir "sözdizimsel" webdir.

Bu, sunucular, arama motorları ve elektronik ticaret arasında etkileşimli bir bilgi sürecinin geliştiği Web'in hizmet yönelimidir.

Bilgi akışının oluşturulması, sahiplerinin ellerine bırakıldı ve site sahipleri çoğunlukla oluşturulan ve destekleyici altyapıyla çevriliydi.

Bilgi ve dinleme sistemleri - bunların hiper sunucuları, robotları ve müşteri arayüzleri Pavutina'nın çekirdeği haline geldi. Arama, sıralama, sıralama ve arayüz algoritmaları bilginin frekans sözdizimsel analizine dayanıyordu. Robotik ses sistemleriє bilginin birincil indekslenmesi için aktif araştırmacılar ve pasif izleme moderatörleri.

10. Web teknolojilerinin geliştirilmesi. Web 3.0, anlamsal web.

Web 3.0 anlamsal Pavutina'dır (Semantik Web) - “World Wide Web'de bulunan bilgilerin makine tarafından işlenmesi olasılığının uygulanması olan İnternet'in gelişiminin küresel konseptinin bir parçasıdır. Konseptin ana vurgusu, kaynakların gücünü ve değişimini açıkça karakterize eden meta verilerle çalışmaktır. Dünya çapında pavutini Bu saatte vikoristin değiştirilmesi metin analizi belgeler." World Wide Web'in kaynaklarına ilişkin meta verileri yerleştirmek ve onlarla paralel çalışmak olan Merezha üzerindeki önlemin amacı budur. Otomatikleştirilmiş bilgi süreçleri sunucular arasında.

Anlamsal araçları daha da geliştirmek mümkündür: metin kaynaklarının anlamsal olarak işaretlenmesinden, insan ifadelerinin anlamını anlayan akıllı algoritmalara kadar.

Vinikli merezhevi, özel bilgi kaynaklarının yönetimini Pavutina'nın hiper sunucularının ortasından alan "karanlık" hesaplamalar.

Web eklentileri oluşturan teknolojiler incelip zanaatkarlar ve yaratıcılar için bir çıta oluşturdu bilgi kaynakları günlük bilgi teknolojilerine güvenmeden sıfıra düştü.

Sami uç teknolojileri otomatik olarak işleyen çevrimiçi ağ eklentileri düzeyine yükseliyor: kaynak oluşturma arayüzleri, anlamsal çevirmenler, haber değiştiriciler, ses analizörleri ve temel aldıkları hedef bilgilerinin otomatik formüle edicileri.

Dahili sunucular arası arayüzlere ek olarak, fiziksel ışıklı insan dışı arayüzler de vardır: multimedya bilgilerinin otomatik toplanması, bilgilerin robotik yazılım analizi Dış dünya, bu bilgilerin web hiper sunucuları tarafından madenciliği. Robotlar, içeriğin aktif olarak denetlenmesi, sansürleme aşamasına geçiyor, bu da Web 3.0'da nelerin yayınlanabileceği ve nelerin yayınlanamayacağı anlamına geliyor.

11. Web teknolojilerinin geliştirilmesi. Ağ hizmetleri.

Web hizmeti, web hizmeti - web adresiyle tanımlanır yazılım sistemi standartlaştırılmış arayüzlerle. Web servisleri birbirleriyle etkileşime girebilir üçüncü taraf eklentileri Ek bilgi için şarkı söyleme protokollerinin temeli (SOAP, XML-RPC, REST, vb.). Bir web hizmeti, farklı bir hizmet odaklı program mimarisindeki bir modülerlik birimidir.

Günlük yaşamda web servislerine internette mevcut olan servisler denir. Bu kullanılan terim, arama, web postası, belgeleri kaydetme, dosyalar, yer imleri vb. anlamına gelen açıklama gerektirir. Bu tür web hizmetlerine bir bilgisayardan, tarayıcıdan veya İnternet'e erişim yerinden bağımsız olarak erişilebilir.

REST (Temsili durum aktarımı), web hizmetlerini çağırmak için kullanılan World Wide Web gibi dağıtılmış sistemlere yönelik bir yazılım mimarisi stilidir. REST terimi, HTTP protokolünün yazarlarından biri olan Roy Fielding tarafından 2000'den fazla kez türetilmiştir. REST'i destekleyen sistemlere RESTful sistemler denir.

REST seçeneği, herhangi bir ek dahili işleme gerek kalmadan bilgileri yönetmek için çok basit bir arayüze sahiptir. Her bilgi parçası, URL gibi genel bir tanımlayıcıyla benzersiz bir şekilde tanımlanır. Her URL'nin kendine özgü bir görev biçimi vardır.

Günlük Web hizmetleri için REST wiki.

Bildiğiniz gibi web servisi, World Wide Web üzerinde çalışan ve ona erişim HTTP protokolü üzerinden sağlanan bir eklentidir ve bilgi alışverişi bunun ötesine geçer. XML biçimi. Yani gövdeye aktarılan verinin formatı her zaman XML olacaktır.

Cilt bilgi birimi için 5 eylem belirtilmiştir. Ve kendine:

Bilgi almak/ (Dizin)- Tüm nesnelerin bir listesini görüntüler.

GET /bilgi/(kimlik) (Görüş)-Otrimu daha fazla bilgi nesne hakkında.

PUT /bilgi/ ya da başka POST /bilgi/ (Yaratmak)- Yeni bir nesne yaratıyorum.

SİL /bilgi/(kimlik) (Silmek)– tanımlayıcıdan (id) verileri siler.
Görünüşe göre REST mimarisi geliştirme açısından çok basit. Bir bakışta, formatları (SOAP, XML-RPC için) anlamadan nelerin işe yaradığını anlayabilirsiniz. Veriler, ek veriler depolanmadan aktarılır; bu nedenle, ne yapılacağını anlamak için ayrıştırma gerektirmediği ve verileri bir formattan diğerine aktarmayı gerektirmediği için REST, daha az kaynak yoğun olarak kabul edilir.

12. HTTP protokolü. Köprü metni belgesinin yapısı Temel standartlar.

HTTP, hiper metin belgelerinin (gönderilebilen belgeler gibi, diğer belgelere geçişi düzenlemenize olanak tanır) aktarımına olanak tanıyan aktarım protokolünün geniş bir uzantısıdır.

HTTP protokolü istemci-sunucu iletim yapısını kullanır. İstemci programı isteği oluşturur ve sunucuya gönderir, ardından sunucu programı güvenliği işler. Danimarka soruyor, Bir yanıt oluşturur ve bunu istemciye geri iletir. Bundan sonra istemci programı benzer şekilde işlenecek diğer istekleri güçlendirmeye devam edebilir.

Köprü metni belgesinin yapısı

Ödeme köprü metni belgesi metni, tamamlandığında başka bir belgeye geçişe yol açacak özel unsurları içerecek şekilde anlayın. Bu elementlere denir aşırı zorlanmış Ve bir metin parçası, düğmeler vb. şeklinde görüntülenebilirler. Mesajlar aynı belgenin farklı bölümlerine (mesajın çağrıldığı bölümde) gidecek şekilde değiştirilebilir. Çapa ya da başka Çapa).

HTML belgesinin yapısına bir göz atalım. Basit biçimde basit biçimde yazabilirsiniz:







Belge index.html adı altında kaydedilir ve tarayıcıda açılır. Ne bachimo? Hiçbir şey - boş taraf. Bu popoyu parçalara ayırıp tamamen dolduralım.

HTML öğeleri etiketlerdir. Etiketler - tse anahtar kelimeler kemerlere yerleştirilmiştir. Etiketler tek olabilir (örneğin yatay bir karakteristik)


) veya çocuklar. Başka bir türde öğe, açılmakta olan etiketten oluşur (örneğin, ) ve kapatan etiket (). Öğenin eylemi, açılan ve kapanan etiket arasındaki alana kadar uzanır.

Köprü metni belgesinin tamamı ortada yer alır HTML öğesi(sonra arasında і). Bu öğenin ortasında iki öğe daha vardır - belgeyle ilgili hizmet bilgilerini içeren belgenin başlığı (baş öğe) ve belgenin gövdesi (öğe) ), tarayıcı penceresinde görüntülenen bilgilerin nasıl yerleştirileceği.

İndüklenen yapı yaratılış için yeterlidir basit HTMLözel amaçlı belgeler, ancak standarda uygun değil. Asıl sorun, belgedeki herhangi bir sunum standardında belirtilmeyen şeylerden kaynaklanmaktadır. Standart, etiketten önceki ilk satıra yazılır . İnsan temel standartların ne olduğunu merak ediyor.

HTML 4.01 için

XHTML 1.0 için

XHTML 1.1 için

Katı, Geçişli, Çerçeve Kümesi - katı (düzenin standardı ihlal etmesi gerekmez) spesifikasyonu, geçişli (kuklalar için sesler göz ardı edilir) ve vikory çerçeveleri kullanan siteler (ve başka ne olabilir?) anlamına gelir. Belgenin türü kayıt defterine duyarlı olduğundan, benzersiz olması açısından onu buradaki uygulamalardan kopyalamak daha iyidir.

Diğer standartları anlamak, şablon oluşturmak için listedeki ilkine gidin (şablonu belge türünüze uyacak şekilde kolayca değiştirebilirsiniz).

Şimdi başlık kısmına geçelim. Buna sayfa başlığı (başlık öğesi), META verileri ve diğer hizmet bilgileri dahildir. Burada sadece başlığa odaklanacağız; diğer unsurlara benzer konularda bakılacaktır (CSS kodlamasını belirten sadece iki unsur vardır).

Head öğesinin ortasına bir satır ekleyin Belge yapısı Daha sonra sayfayı tarayıcınızda açın. Tarayıcının en üst satırında, başlık öğesinin ortasında belirtilenleri göreceğiz. Ayrıca, sayfayı yer imlerine eklediğinizde bildirim almak için tarayıcı tarafından bu bilgiler aranır.

Sayfanın doğru görüntülenmesi için belgemiz aynı kodla yazılmıştır. Satır kimin için ekleniyor

Burada standart Windows kodunu Windows-1251 olarak belirtiyoruz. Elbette bu yeterli değil, belgenin kendisinin kodunuza yazılması gerekiyor. Ayrıca utf-8 kodlaması da standarttır (karakter seti uzantılarını destekleyen bir Unicode).

Aynı format, ek satırların arkasında basamaklı stil sayfaları için de mümkündür

O halde belgenin gövdesi (body elementi) görsel bilgileri içerir. her zaman tarayıcı penceresinde görüntülenen penceredir. Dodamo satırı "Yapıyı düzeltmek için belge kodu".

Ayrıca saldırının kalan alternatif seçeneği (diğer belgeler için şablon olarak kullanabiliriz):

Belge yapısı Belge kodu doğru yapıya sahip

Sonuçlardan seçilen standart için bir belge şablonu seçtik.

HTML5: Tüm belgeler için.

HTML 4.01: Suvory HTML sözdizimi. Geçişli HTML sözdizimi. HTML belgelerinde vikorize edilmiş çerçeveler bulunur.

XHTML 1.0: Suvory XHTML sözdizimi. XHTML'nin geçiş sözdizimi Belge XHTML'de yazılmıştır ve çerçeveler içerir. Mobil profilin XHTML'si cep telefonları için belirli öğeler ekler.

XHTML 1.1: Açık bir anlamı yoktur, sözdizimi aynıdır ve açık kurallara tabidir.

eleman bir akış belge türü eklemeye yönelik atamalar - DTD (belge türü tanımı, belge türünün açıklaması). HTML'nin çeşitli versiyonları mevcut olduğundan, HTML'ye benzer XHTML'ye (Genişletilebilir HyperText İşaretleme Dili) ek olarak, bir zihin tarayıcısının tam web sayfasını yorumlaması gerekir. onunla sözdizimi hakkında tartışın. Tarayıcının "kaybolmaması" ve web sayfasını herhangi bir standarda göre görüntülemenin gerekli olduğunu anlaması için önce kodu ayarlamak gerekir. .

Apache, MySQL ve PHP'den bahsetmişken çoğu yönetici, kurulu yazılım setini birçok Linux dağıtımından birine dağıtan LAMP yığınına güveniyor. 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. Bunlardan beş tane var: yalnızca önyükleme - sınır boyunca kurulum için en önemli görüntü, disk1 - ISO görüntüsü CD'ye yazmak için, dvd1 - DVD'ye yazmak için görüntü, livefs - olmadan LiveCD grafik arayüzü, USB anahtarlığa yazmak için hafıza ç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 Serbest bölgede yeni bir tümen oluşturmak. Bununla birlikte, FreeBSD'nin özel bir disk düzeni şeması kullandığını lütfen unutmayın; böylece herhangi bir standart DOS bölümü (FreeBSD terminolojisinde dilim olarak adlandırılır), ihtiyacınız olan birkaç BSD bölümünü barındırabilir. Yalnızca bir bölüm oluşturun. Tamamlandıktan sonra tuşuna basıyoruz Programdan çıkmak için.

Çok yakında: bir bakış açısı kurmayla ilgili bilgiler, sadece kabartmalı Dolabı MBR'ye kurmak için. Bundan hemen sonra BSD bölümü için oluşturulan bölümü göreceğiniz pencere açılacaktır. Burada deneyebilirsiniz, ancak yalnızca tuşuna basmanızı öneririm Programın diski kendisinin bölümlemesine izin verin. Daha fazla 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 . Seçiminizi onaylayın yaklaşan arifesinde. Dosyaları kopyalama işlemi şimdi başlayacak ve ardından ekranda yükleyici ana menüsüne nasıl gidileceğine dair bir mesaj görüntülenecektir. Saldırı , daha öte , "Evet" . İşletim sistemi yeniden başlatılabilir. İşletim sisteminin sabit diske kurulması için diski sürücüden çıkarmayı unutmayın.

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) ), önemli olan kullanıcı adı, varsayılan komut yorumlayıcısı (tcsh'yi seçin) ve şifredir. Örneğin, komut ekranda hesap ayarlarının bir listesini görüntüleyecek, istemde "evet" kelimesini girecek ve istemde "hayır" yazacaktır.

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 ve iki . /etc/resolv.conf dosyasına DNS sunucu adresini ekleyin:

# 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 Ancak şifre girme hakkına ("Giriş şifresi:" satırı) giderseniz Webmin'e erişim için şifre girmelisiniz (kısacası diğer şifrelerden farklı olmayacaktır). Daha sonra Webmin'i başlatabilirsiniz:

# /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 . Kurulumu tamamladıktan sonra sunucuyu otomatik başlatmaya eklemeyi unutmayın (SSL desteği gerekmediği için diğer satırı atlayabilirsiniz):

# 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ümlerin otomatik yapılandırıcısı, bölümlerin çoğunu tahsis eder). /home altında boşluk) 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 satırı değiştirin:

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 sonraki satırı ekleyin:

Takma ad /phpmyadmin /usr/local/www/phpMyAdmin

2. Örneğin bölümler Sonraki satırları ekliyoruz:


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ı değiştirmek 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 tarafından barındırılan web sitesinin temelidir; Linux, Apache, MySQL ve PHP (LAMP) yazılım yığınıdır.

LAMBA Standı şunun için kullanılır:-

  1. L (Linex İşletim Sistemi)
  2. A(Apache[ Yerel İstemci Sunucusu])
  3. M (MySQL Veritabanı)
  4. P (PHP)

LAMP Stack, web siteleri ve web siteleri oluşturmak için kullanılabilecek bir dizi Açık kaynaklı yazılımdır. LAMP kısaltmadır ve bu rezervler genellikle Linux işletim sisteminde, Apache HTTP Sunucusunda, MySQL göreceli veritabanı yönetim sisteminde ve PHP programlama dilinde bulunur.

    Linux:İşletim sistemi (OS) standartlarımıza uygundur. Linux, yığın modelinin temelini zorluyor. Diğer tüm harfler bu mektubun üst kısmında yer alır. Linux en alt düzey katmandır ve işletim sistemini sağlar. Linux doğrudan diğer tüm bileşenler üzerinde çalışır. Ancak özellikle Linux ile sınırlı değildir; Microsoft® üzerindeki diğer tüm bileşenlere hızlı bir şekilde erişebilirsiniz; İhtiyacınıza göre Windows®, Mac OS X veya UNIX®.

    Apaçi: Web sunucusunu sunucuya ayarlamanın zaten iki yolu vardır, genellikle Apache Web Sunucusu. Bu materyal Linux literatürünün en üstünde yer almaktadır. Web sunucuları, web tarayıcılarını doğru web sitelerine iletmek için uygundur. Apache, Web sayfalarını kullanıcıya sunmak için teknoloji sağlar. Apache istikrarlı, görev açısından kritik özelliklere sahip bir sunucudur ve İnternet'teki tüm web sitelerinin 65 yüzden fazlasına güç sağlar. Bunlar şu anda Apache'de çalışan PHP bileşenleridir ve kendi dinamik sayfalarınızı oluşturmak için Apache ve PHP'yi aynı anda kullanırsınız.

    MySQL: Bu otuz basamaklı arkush, canlı veritabanlarında yer almaktadır. MySQL, bir web sitesi oluşturmak için komut dosyasıyla sorgulanabilecek ayrıntıları saklar. MySQL, Apache/katman 2'nin arkasında Linux okuryazarlığının üstüne yerleştirilir. Yüksek ayarlarda, MySQL bitişik ana sunucuya aktarılabilir. MySQL, LAMP sisteminin veri depolama tarafıyla ilgilenecektir. MySQL ile büyük ve karmaşık siteleri çalıştırmaya uygun, çok esnek bir veritabanına ek erişime sahip olursunuz. Web sitenizdeki tüm verileriniz, ürünleriniz, hesabınız ve diğer türdeki bilgileriniz bu belgede SQL Dili ile kullanabileceğiniz formatta saklanacaktır.

    PHP:Üst kısımdaki görsellerde tüm parçalar ve kalan kısımlar yer almaktadır. Abonelikler PHP ve/veya İngilizce dili için benzer programlarla kullanılabilir. Web siteleri ve Web Uygulamaları bu katmanda çalışır. PHP, LAMP sisteminin diğer tüm parçaları için tutkal sağlayan basit ve etkili bir programlama dilidir. MySQL veritabanındaki verilere ve Linux'un sağladığı bazı özelliklere erişebilen Dinamik içeriği düzenlemek için PHP kullanıyorsunuz.


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:

  1. /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.
  2. 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:

  1. Sembolik bir görüntü (sembolik bağlantı) oluşturun: cd /var/www/web/sites & ln -s mycompany.ru www.mycompany.ru
  2. 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

Sistemde Debian/Ubuntu depolarından standart PHP kurulu olduğundan, PHP kurulumu ve eklenti kurulumu debian tabanlı dağıtımlar için standart bir şekilde gerçekleştirilmektedir. 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 kurulumlar /etc/php5/cgi klasöründen, mod_php için - /etc/php5/apache2 klasöründen, CLI sürümü için kurulumlar alınır (bu /usr/bin/php'dir, bu cron işi için kullanılan php sürümü 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 projemiz için uwsgi konfigürasyon dosyasını oluşturabiliriz.

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.

© 2023 androidas.ru - Android hakkında her şey