|
|
Download čistého předpřipraveného systému (debian)
http://www.thoughtpolice.co.uk/vmware/
Instalace doplňků
Před spuštěním samotné instalace provedeme update seznamu zdrojů příkazem:
apt-get update
A následně upgrade systému příkazem:
apt-get upgrade
Dále již instalujeme následující potřebné aplikace.
Midnight commander
apt-get install mc
apt-get install php
apt-get install mysql-server (vyzve pro zadání hesla pro root účet k mysql a vyžádá si potvrzení automatické konfigurace webserveru pro práci s MySQL (vybral jsem apache2))
apt-get install phpmyadmin
u
apt-get instal postfix (vyžádá si volbu typu serveru (vybral jsem local-only))
Instalace SSH – vzdálený přístup
apt-get install ssh
Konfigurace serveru
Změna hesla
passwd
Změna hostname
echo jmenoServeru > /etc/hostname
Změna prostředí – volba klávesnice
Vyberte v /etc/locale.gen požadovanou lokalizaci.
Zapnutí rewrite mode
a2enmod rewrite
Nastavení sítě
Pro nastavení síťové karty editujte obsah souboru /etc/network/interfaces
V mém případě vypadá soubor následovně:
auto eth0
iface eth0 inet static
address 10.10.17.246
netmask 255.255.254.0
network 10.10.17.0
broadcast 10.10.17.255
gateway 10.10.17.1
dns-nameservers 10.10.17.254
A dále obsah souboru /etc/resolv.conf slouží pro nastavení komunikace v doméně (v mém případě doména windows)
search domena
nameserver 10.10.17.254
nameserver 10.10.17.253
V této chvíli je webserver nachystán k použití.
Zatím testovací příspěvek…
Takto nějak vypadá můj script pro registraci uživatelů napsaný ve frameworku NETTE a databázovou vrstvou dibi.
<?php
require 'Nette.minified/loader.php';
require 'dibi/dibi.php';
// nastavime dibi
dibi::connect(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'root',
'password' => '****',
'database' => 'db_name',
'charset' => 'utf8',
));
function myValidator($item)
{
$result = dibi::query('SELECT [id] FROM [user] WHERE [nick]=%s', $item->getValue());
return (count($result) === 0);
}
$form = new Form;
echo '<h1>Registrace</h1>';
$form->addText('nick', 'Nick (přihlašovací jméno):*')
->addRule(Form::FILLED, 'Zadejte prosím nick.')
->addRule('myValidator', 'Tento nick už má někdo registrován.');
$form->addPassword('pass', 'Heslo:*')
->addRule(Form::FILLED, 'Zadejte prosím heslo.')
->addRule(Form::MIN_LENGTH, 'Zadané heslo je příliš krátké, zvolte si heslo alespoň o %d znacích.', 5);
$form->addPassword('pass2', 'Heslo (pro kontrolu):*')
->addRule(Form::FILLED, 'Zadejte heslo ještě jednou pro kontrolu.')
->addRule(Form::EQUAL, 'Zadané hesla se neshodují.', $form['pass']);
$form->addText('email', 'E-mail:*')
->setEmptyValue('@')
->addRule(Form::EMAIL, 'Zadejte prosím platný e-mail.');
$form->addText('icq', 'ICQ:');
$form->addText('skype', 'Skype:');
$form->addRadioList('news', 'Odebírat novinky:', array('ano' => 'ano', 'ne' => 'ne'));
$form->addText('link', 'Link:')->addCondition(Form::FILLED)
->addRule(Form::URL, 'Link nemá formát webové adresy.');
$form->addSubmit('send', 'Registrovat');
if ($form->isSubmitted()) {
if ($form->isValid()) {
$values = $form->getValues();
// vytvoření kontrolního hashe
$kontrolni_link = sha1($values['nick'] . time() . 'e743dd075ff52c2');
unset($values['pass2']); // druhé heslo neukládáme
$values['retik'] = $kontrolni_link;
dibi::query('INSERT INTO [user]', $values);
#mail pro kontrolu
$mail = new Mail;
$mail->setFrom('Registrace na webu xxx.com <info@xxx.com>');
$mail->addTo($values['email']);
$mail->setSubject('Registrace na webu xxx.com');
$mail->setBody("Děkujeme za Váši registraci. Potvrďte prosím na adrese http://xxx.com/registrace.php?kontrola={$kontrolni_link}");
$mail->send();
echo 'registrace dokončena.';
} else {
$form->setDefaults();
echo $form;
}
} else {
$form->setDefaults(array('news' => 'ne'));
echo $form;
}
?>
Poslední dobou jsem začínal pociťovat, že čím dál více mi chybí nějaké místo, kde bych prezentoval všechny moje dílčí úspěchy.
Tak jsem do toho práskl a výsledkem je tento blog.
|
|