Ubuntu-da LAMP serwerinde HTML5 web sahypasyny nädip ýerleşdirmeli


Bu tapgyryň öňki iki makalasynda web programmalaryny ösdürmek üçin IDE hökmünde Linux iş stoly paýlanyşynda Netbeans-y nädip gurmalydygyny düşündirdik. Soňra sahypalaryňyzy ykjam we täsirli etmek üçin jQuery we Bootstrap atly iki esasy komponent goşduk.

  • Netbeans ulanyp, Ubuntu-da esasy HTML5 taslamasyny nädip döretmeli - 1-nji bölüm
  • JQuery & Bootstrap ulanyp, ykjam amatly programma nädip ýazmaly - 2-nji bölüm

Öndüriji hökmünde statiki mazmun bilen seýrek iş salyşjakdygyňyz üçin, indi 2-nji bölümde guran esasy sahypamyza dinamiki funksiýa goşarys, başlamak üçin deslapky şertleri sanap geçeliň we öňe gitmezden ozal ýüzleneliň.

LAMP serwerine ýerleşdirmezden ozal ösüş enjamymyzda dinamiki programmany barlamak üçin käbir paketleri gurmaly bolarys.

Bu seriýany ýazmak üçin Ubuntu iş stoluny ulanýandygymyz sebäpli, ulanyjy hasabyňyz sudoers faýlyna eýýäm goşuldy we zerur rugsatlar berildi diýip çaklaýarys.

Paketleri gurmak we DB serwerine girişi sazlamak

Gurnama wagtynda MySQL kök ulanyjysy üçin parol girizip biljekdigiňizi ýadyňyzdan çykarmaň. Güýçli parol saýlaýandygyňyza göz ýetiriň we soňra dowam ediň.

Ubuntu we emele gelenler (Debian esasly beýleki paýlamalar üçin):

$ sudo apt update && sudo apt install apache2 php php-common php-mysql mysql-server filezilla

Fedora/CentOS/RHEL we beýleki RHEL esasly paýlamalar üçin):

$ sudo yum update && sudo yum install httpd php php-common php-mysql mysql-server filezilla

Gurmak tamamlanandan soň, maglumat bazasynyň serwerini goramak üçin mysql_secure_installation buýrugyny işletmek maslahat berilýär.

$ sudo mysql_secure_installation

Aşakdaky maglumatlar soralar:

  • Kök parolyny üýtgediň? [Y/n]. MySQL kök ulanyjysy üçin eýýäm parol bellän bolsaňyz, bu ädimden geçip bilersiňiz.
  • Anonim ulanyjylary aýyrýarsyňyzmy? [Y/n] ý.
  • Kök girişini uzakdan gadagan ediň? [Y/n] y (Bu ýerli ösüş gurşawyňyz bolansoň, DB serweriňize uzakdan birikmek zerurlygy bolmaz).
  • Synag maglumatlar bazasyny aýyryň we oňa girip bilersiňizmi? [Y/n] y
  • artykmaçlyk tablisalaryny täzeden ýükläňmi? [Y/n] ý.

Maglumatlar bazasyny döretmek we synag maglumatlary ýüklemek

Maglumatlar bazasyny döretmek we käbir synag maglumatlaryny ýüklemek üçin DB serweriňize giriň:

$ sudo mysql -u root -p

MySQL kök ulanyjysy üçin paroly girizmek soralar.

MySQL soramasynda ýazyň

CREATE DATABASE tecmint_db;

we Enter basyň:

Indi tablisa döredeliň:

USE tecmint_db;
CREATE TABLE articles_tbl(
   Id INT NOT NULL AUTO_INCREMENT,
   Title VARCHAR(100) NOT NULL,
   Author VARCHAR(40) NOT NULL,
   SubmissionDate TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
   PRIMARY KEY ( Id )
);

we nusga maglumatlary bilen köpeltmek:

INSERT INTO articles_tbl (Title, Author) VALUES ('Installing Filezilla in CentOS 7', 'Gabriel Canepa'), ('How to set up a LAMP server in Debian', 'Dave Null'), ('Enabling EPEL repository in CentOS 6', 'John Doe');

Web Serwer katalogyna simwoliki baglanyşyk goşmak

Netbeans, adaty ýagdaýda ulanyjynyň öý katalogynda taslamalary saklaýandygy sebäpli, şol ýeri görkezýän simwoliki baglanyşyklary goşmaly bolarsyňyz. Mysal üçin,

$ sudo ln -s /home/ubuntu/NetBeansProjects/TecmintTest/public_html /var/www/html/TecmintTest

/home/gabriel/NetBeansProjects/TecmintTest/public_html görkezýän TecmintTest atly ýumşak baglanyşyk goşar.

Şol sebäpli, brauzeriňizi http:// localhost/TecmintTest/-e görkezeniňizde, hakykatdanam 2-nji bölümde guran programmamyzy görersiňiz:

Uzakdan FTP we web serwerini gurmak

9-njy bölümde görkezilen görkezmeler bilen FTP we Web serwerini aňsatlyk bilen gurup bilýändigiňiz üçin - Tecmint-de RHCSA seriýasynyň ygtybarly FTP we web serwerini guruň we sazlaň, bu ýerde gaýtalamarys. Has giňişleýin dowam etmezden ozal şol gollanma serediň.

Programmamyzy dinamiki birine öwürmek

Belki, ozal maglumatlar bazamyza goşan nusga maglumatlarymyz bilen köp zat edip bilmeris öýdersiňiz, dogry aýdýarsyňyz, ýöne PHP koduny goýmagyň esaslaryny we soraglaryň netijelerini MySQL DB-e öwrenmek ýeterlik bolar. HTML5 sahypalaryňyzda.

Ilki bilen, programmamyzyň esasy resminamasynyň giňeldilmegini html ýerine .php üýtgetmeli bolarys:

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

Geliň, Netbeans-da taslamany açalyň we käbir üýtgeşmelere başlalyň.

1. Yzky php programmalaryny nirede saklajakdygymyzy görkezýän taslama bukja goşuň.

2. Içinde dbconnection.php atly bir faýl dörediň we aşakdaky kody goşuň:

<?php
    $host = "localhost";
    $username = "root";
    $password = "MyFancyP4ssw0rd";
    $database = "tecmint_db";

    //Establish a connection with MySQL server
    $mysqli = new mysqli($host, $username, $password,$database);

    /* Check connection status. Exit in case of errors. */
    if (mysqli_connect_errno()) {
        printf("Connect failed: %s\n", mysqli_connect_error());
        exit();
    }
    $mysqli -> query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");

    $records = array();
    $query = "SELECT Title, Author, SubmissionDate FROM articles_tbl;";
    $result = $mysqli->query($query) or die($mysqli->error);
    $data = array();

    while ( $row = $result->fetch_assoc() ){
        $data[] = json_encode($row);
    }
    echo json_encode( $data );
?>

aşakdaky suratda görkezilişi ýaly:

Bu faýl maglumatlar bazasynyň serwerine birikmek, ony soramak we bu talapyň netijelerini JSON ýaly setirde frontend programmasy tarapyndan azajyk üýtgetme bilen yzyna gaýtarylmak üçin ulanylar.

Bu amallaryň hersini ýerine ýetirmek üçin adatça aýratyn faýllary ulanjakdygyňyzy unutmaň, ýöne ýönekeýlik üçin bu funksiýalaryň hemmesini bir faýla goşmagy makul bildik.

3. index.php -da, açylýan korpusyň aşagyndaky aşakdaky bölegi goşuň. Web resminamasy taýýar bolanda ýa-da başgaça aýdylanda, her gezek ýüklenende daşarky PHP programmasyny çagyrmagyň jQuery usuly:

<script>
    $(document).ready(function(){
        $.ajax({
            url: 'includes/dbconnection.php',
            datatype: 'json',
            type: 'POST',
            success: function(data){
                var output = $.parseJSON(data);
                for(var i =0;i < output.length;i++)
                {
                  var item = output[i];
                  $("#title").append("<br>"+item.Title);
                  $("#author").append("<br>"+item.Author);
                  $("#submissiondate").append("<br>"+item.SubmissionDate);
                }
            }}
        );
    });
</script>

4. Indi, diwdäki her setire index.php-iň aşagyndaky synp hatary bilen özboluşly id goşuň (ýokardaky aýlawyň içindäki ýaly):

<div class="row">
    <div class="col-md-4" id="title" style="text-align: center"><strong>Titles</strong></div>
    <div class="col-md-4" id="author" style="text-align: center"><strong>Authors</strong></div>
    <div class="col-md-4" id="submissiondate" style="text-align: center"><strong>Published on:</strong></div>
</div>

Indi “Taslamany işletmek” düwmesine bassaňyz, şuny görmeli:

Bu, esasan, MySQL müşderi islegimizden soragy işledenimizde yzyna gaýtarylan maglumatlar bilen deňdir.

Filezilla ulanyp LAMP serwerine ýerleşdirmek

Dash menýusyndan Filezilla-ny işe giriziň we uzakdaky FTP serweriniň IP-sini we şahsyýet maglumatlaryňyzy giriziň. Soňra FTP serwerine birikmek üçin “Quickconnect” -e basyň:

/ Home/gabriel/NetBeansProjects/TecmintTest/public_html/-e geçiň, mazmunyny saýlaň, sag basyň we Uploadüklemek saýlaň.

Bu, elbetde, Ulanyjy adynda görkezilen uzakdaky ulanyjynyň uzakdaky katalogda rugsat ýazmalydygyny göz öňünde tutýar. Uploadüklemek tamamlanandan soň, brauzeriňizi gerekli ýere görkeziň we öňküsi ýaly sahypany görmeli (ýerli MySQL maglumat bazasyny uzakdaky hosta gurmaýandygymyzy ýadyňyzdan çykarmaň, ýöne ädimleri ýerine ýetirip bilersiňiz. bu gollanmanyň başlangyjy).

Gysgaça mazmun

Bu makalada, jQuery we azajyk JavaScript ulanyp, web programmamyza dinamiki funksiýa goşduk. Has giňişleýin maglumat üçin resmi jQuery resminamalaryna ýüz tutup bilersiňiz, has çylşyrymly programmalary ýazmak kararyna gelseňiz gaty peýdaly bolar. Netijede, programmamyzy FTP müşderisini ulanyp uzakdaky LAMP serwerine ýerleşdirdik.

Bu makala baradaky pikirleriňizi diňlemek isleýäris - aşakdaky formdan peýdalanyp, biziň bilen habarlaşyp bilersiňiz.