piątek, 24 października 2014

Tworzenie serwisu zarządzającego

1. Tworzymy plik konfiguracyjny, który pozwoli na połączanie z bazą MySQL. Najlepiej umieścić poza katalogiem ze stroną.
<?php
$host = "localhost";
$db_user = "root";
$db_pwd = "YOURPASS";
$db_name = "zseu";
$connection = mysql_connect($host, $db_user, $db_pwd);
if (!$connection) die('Could not connect: ' . mysql_error());
$db_selected = mysql_select_db($db_name, $connection);
if (!$db_selected) die ('Nie można ustawić '.$db_name.' : ' . mysql_error());
?>
Zapisujemy go na serwerze www ( /var/www ), jako config.inc

2. Strona główna wygląda następująco:

<?php
(@include_once('../config.inc')) or die ("Brak pliku konfiguracyjnego");
?>
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Naprawa sprzętu</title>
</head>
<body>
<table border="1">
    <tr>
<td>Lp.</td>
<td>Nazwa sprzętu</td>
<td>KS</td>
<td>Data zgłoszenia</td>
<td>Data naprawy</td>
<td>Data zwrotu</td>
<td>Serwis</td>
    </tr>
<?php
$q = mysql_query("SELECT * FROM naprawa");
$lp = 0;
while($row =  mysql_fetch_assoc($q))
{
    $lp++;
    echo "<tr>
<td>$lp</td>
<td>$row[nazwa_sprzetu]</td>
<td>$row[ks]</td>
<td>$row[data_zgloszenia]</td>
<td>$row[data_naprawy]</td>
            <td>$row[data_zwrotu]</td>
<td>$row[serwis]</td>
</tr>";
}
?>
</table>
<a href="/admin" alt="Panel administracyjny">Panel administracyjny</a>
</body>
</html>

Tworzenie bazy pod serwis zarządzający

1. Tworzymy bazę
mysql -u root -p -e 'create database zseu'
2. Logujemy się do MySQL
mysql -u root -p
3. Tworzymy wcześniej zaplanowaną strukturę bazy danych
use zseu;
CREATE TABLE naprawa (
id INT NOT NULL AUTO_INCREMENT,
nazwa_sprzetu VARCHAR(100) NOT NULL,
ks VARCHAR(40) NOT NULL,
data_zgloszenia DATETIME,
data_naprawy DATETIME,
data_zwrotu DATETIME,
serwis VARCHAR (20) NOT NULL,
PRIMARY KEY (id));
4. Sprawdzamy rezultat
DESC naprawa;
5. Tworzymy kolejną tabelę z nazwą serwis
CREATE TABLE serwis (
id INT NOT NULL AUTO_INCREMENT,
nazwa_serwisu VARCHAR(100) NOT NULL,
telefon VARCHAR(255) NOT NULL,
PRIMARY KEY (id));
DESC serwis; 
6. Tworzymy ostatnia tabelę z danymi logowania administratorów do panelu.
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
login VARCHAR(100) NOT NULL,
password CHAR(32) NOT NULL,
isAdmin tinyint(1) DEFAULT 0 NOT NULL,
PRIMARY KEY (id));
DESC users; 
7. Tworzymy pierwszego administratora strony:
 insert into users (login, password, isAdmin) VALUES ('admin', MD5('YOURPASS'), 1); 

3. Tworzenie serwisu zarządzającego

Instalacja PHP, MySQL i Apache

1. Instalacja, uruchomienie oraz dodanie do autostartu serwera Apache
yum install httpd
service httpd start
chkconfig httpd on
2. Odblokowujemy port 80 w firewall'u
iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
service iptables save
service iptables restart
3. Sprawdzamy czy serwer funkcjonuje poprawnie wpisując w przeglądarkę IP serwera
ifconfig eth0 | grep inet | awk '{ print $2 }'
4. Instalacja MySQL
yum install mysql-server
service mysqld start
chkconfig mysqld on

4a. Zakładamy hasło dla użytkownika root w MySQL
mysqladmin -u root password YOURPASS
5. Instalacja PHP
yum install php php-mysql
6. Załączamy raportowanie błędów w apache w pliku php.ini, znajdujemy jego lokalizację i edytujemy:
php -i | grep "php.ini"
display_errors = On
7. Instalacja potrzebnych modułów
yum search php-
8. Pierwszy plik php na serwerze
/var/www/html/index.php

############## Zawartość pliku index.php ##############
<?php
phpinfo();
?>
##################################################

service httpd restart

2. Tworzenie bazy pod serwis zarządzający