Unelte utilizator

Unelte site


mandriva:ghid-2011-p3

Prezentare - Partea I - Partea a II-a - Partea a III-a - Partea a IV-a - Partea a V-a

Partea a III-a - Configurări pentru server

3.1 Server web Apache

Serverul web Apache este unul dintre cele mai populare aplicatii utilizate de majoritatea serverelor ce gazduiesc domenii online. Apache este cunoscut pentru stabilitaea sa si de flexibilitate ce poate fi fructificata.

3.1.1 Instalare Apache

Instalarea se poate face fie din MCC/MPM ori din linia de comandă:

#urpmi apache-mpm-prefork

Dupa instalare avem cateva foldere create dupa cum urmează:

/etc/httpd/ - unde găsim fişierele de setare

/var/www/html - folderul in care se găseşte domeniul default - accesibil de obicei la adresa http://127.0.0.1/. In acest folder puteţi salva primele documente html.

3.1.2 Pornire server Apache

Prima pornire a serverului o facem cu comanda:

# service httpd start

3.1.3 Setari avansate Apache

Fisierul global de configurare pentru Apache este /etc/httpd/conf/http.conf. In acest fişer putem face cateva modificări pentru personalizare. Toti parametrii ii găsiti explicaţi in documentaţia online disponibilă pe site-ul oficial.

Folderul folosit pentru domeniul default:

DocumentRoot "/var/www/html"

Poate fi modificat către un folder accesibil din directorul home unde se pot face usor modificari.

DocumentRoot "/home/cristi/proiecte"

O setare utila in cazul ca dorim sa gazduim cateva mici domenii pentru testare este activarea si modificarea liniei:

#NameVirtualHost *:80

unde inserăm adresa calculatorului (de preferat statica).

NameVirtualHost xxx.yyy.zzz.aaa:80

3.1.4 Domenii virtuale

In cazul ca dorim sa avem mai multe site-uri/ domenii pe acelasi server avem de urmat urmatorii pasi:

Creeam in folderul /etc/httpd/conf/vhosts.d un mic fiser de configurare de ex: 01-sitemeu.conf

<VirtualHost 192.168.25.25:80>
ServerName catalog.org
ServerAlias catalog
DocumentRoot /home/www/catalog
<Directory /home/www/catalog>
AllowOverride All
Options Indexes IncludesNOEXEC FollowSymLinks ExecCGI
allow from all
</Directory>
</VirtualHost>

unde avem:

  • Virtualhost adresa ip a serverului
  • ServerName domeniul site-ului
  • ServerAlias domeniile alternative ale site-ului ori un nume usor de retinut
  • DocumentRoot folderul in care se gaseste site-ul

Acum pentru accesarea site-ului creat pe masina locala in cazul cand domeniul este de test si este şi nu unul oficial - cum e in acest caz - adaugăm in fiserul /etc/hosts:

192.168.25.25 catalog

Înlocuiţi adresa 192.168.25.25 cu ce a calculatorului dv.

3.1.5 Directoare utilizatori

In cazul ca dorim ca anumite foldere ale userilor sa fie accesibile prin web putem instala modulul mod_userdir

#urpmi apache-mod_userdir

Creem la fiecare user un folder public_html ce av fi accesibil uterior.

Accesarea se va face la adresa http://ip_server/~user/

3.2 Server web Lighttpd

Pe langa deja-cunoscutul Apache mai există și alte servere web precum Lighttpd. Acest server web este mult optimizat consumând resurse mai puține dar în același timp oferă majoritatea funcțiilor oferite și de Apache la o performanța chiar mai sporită. Multe site-uri cu trafic mare precum: YouTube, Wikipedia, SourceForge, The Pirate Bay, Mininova, isoHunt utilizează acest server web cu succes.

3.2.1 Instalare Lighttpd

Instalarea se poate face fie din MCC/MPM ori din linia de comandă:

#urpmi lighttpd

Dupa instalare avem cateva foldere create dupa cum urmează:

/etc/lighttpd/ - unde găsim fişierele de setare

/var/www/html - folderul in care se găseşte domeniul default - accesibil de obicei la adresa http://127.0.0.1/. In acest folder puteţi salva primele documente html.

3.2.2 Pornire serverului Lighttpd

Prima pornire a serverului o facem cu comanda:

# service lighttpd start

3.2.3 Setari avansate Lighttpd

Fișierul de configurare pentru Lighttpd este /etc/lighttpd/lighttpd.conf. În acest fișier putem face câteva modificări pentru personalizare. Toti parametrii ii găsiți explicați in documentaţia online disponibilă pe site-ul oficial.

Folderul folosit pentru domeniul default:

server.document-root = "/var/www/html"

Poate fi modificat către un folder accesibil din directorul /home unde se pot face ușor modificări.

server.document-root = "/home/tux/site"

3.2.4 Domenii virtuale

In cazul ca dorim sa avem mai multe site-uri/ domenii pe acelasi server avem de urmat urmatorii pasi:

Editam fișierul de configurare al serverului web /etc/lighttpd/lighttpd.conf sub forma următoare:

În cazul site-ului cu domeniul site.com vom avea:

#       Host test - site.com
$HTTP["host"] =~ "(^|\.)site\.com$" {
server.document-root = "/var/www/site.com/"
server.errorlog = "/var/log/lighttpd/site.com/error.log"
accesslog.filename = "/var/log/lighttpd/site.com/access.log"
server.error-handler-404 = "/e403.php"
}

unde avem:

  • $HTTP[„host“] = domeniu siteului
  • server.document-root = folderul unde se gaseste site-ul
  • server.errorlog = folderul unde se gaseste logul cu eventualele erori ale acelui site
  • accesslog.filename = folderul unde se gaseste logul cu accesarile acelui site

:!: Nu uitați să creați folderul /var/log/lighttpd/site.com și apoi sa reporniți serveru web pentru actualizarea setărilor:

mkdir -p /var/log/lighttpd/site.com && service lighttpd restart

3.2.5 Domenii virtuale folosind Mysql

3.3 Server Mysql

Mysql se bucură de o mare popularitate intre dezvoltatorii web pentru că ofera funcţii puternice, rapide in gestionarea bazelor de date şi este free.

3.3.1 Instalare Mysql

Instalarea se poate face fie din MCC/MPM ori din linia de comandă:

#urpmi mysql

3.3.2 Prima pornire

Pornirea serverului se face cu comanda:

#service mysqld start

Implicit serverul nu are nici o parolă pentru administrator - root - si este necesara securizarea sa.

[root@cristi cristi]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!


In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.

Set root password? [Y/n] <-- ENTER
New password: <-- nouaparola
Re-enter new password: <-- noua parola
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] <-- ENTER
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] <-- ENTER
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] <-- ENTER
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] <-- ENTER
 ... Success!

Cleaning up...



All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

[root@cristi cristi]#

3.3.3 Conectarea la baza de date

Conectarea la un server Mysql se poate realiza cu multe aplicaţii sau interfeţe web (cea mai cunoscută fiind phpmyadmin ori prin linia de comandă:

[cristi@cristi ~]$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.5.15 Mandriva Linux - MySQL Community Edition (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

Interfaţa phpmyadmin

3.4 Server LAMP

Serverul LAMP ( Linux Apache MySQL Php ) este platforma cea mai des utilizată pentru testarea si rularea aplicaţiilor web. Acesta include după cum vedeţi din nume:

  • un sistem Linux - in cazul nostru Mandriva Linux
  • un server Apache cu suport php
  • un servr Mysql

Mandriva Linux a inclus intre pachetele sale un meta pachet ce permite instalarea acestor servere cu o singura comanda:

#urpmi task-lamp

Pentru gestionarea bazelor de date Mysql cea mai răspândita interfata este phpmyadmin.

#urpmi phpmyadmin

Câteva unelte pe care le puteți utiliza la dezvoltarea aplicaţiilor web pe Mandriva Linux vă sunt prezentate in secţiunea următoare.

3.5 Server Postgres

FIXME

3.6 Server ftp

3.6.1 Instalare server proftpd

Intalarea de serverului de samba pe sistemul nostru se face cu comanda:

#urpmi proftpd

Pornirea lui se face prin:

#service proftpd

Asiguraţivă ca proftpd porneşte la startul calculatorului. Acest lucru poate fi făcut prin MCC sau drakconf din linia de comandă.

3.8.2 Configurare proftpd

Fisierul de configurare al severului proftpd il gasim la /etc/proftpd.conf

Aici putem seta cativa parametrii utili:

* portul pe care asculta serverul

Port 2121

* limtarea accesului la useri doar in folderul personal (nu se aplică pentru root)

DefaultRoot ~

3.7 Server de fisiere cu samba

3.7.1 Instalare server samba

Intalarea de serverului de samba pe sistemul nostru se face cu comanda:

#urpmi samba-server

Pornirea lui se face prin:

#service smb start

Asiguraţivă ca samba porneşte la startul calculatorului. Acest lucru poate fi făcut prin MCC sau drakconf din linia de comandă.

3.7.2 Configurare server samba

Fisierul de configurare este la /etc/samba/smb.conf

In el facem modificările:

a) Numele workgroup-ului in care se află serverul:

# workgroup = NT-Domain-Name or Workgroup-Name
   workgroup = RETEA

b) Numele prin care va fi identificat serverul:

# netbios name is the name you will see in "Network Neighbourhood",
# but defaults to your hostname
  netbios name = Server Date

c) Folderele accesibile din rețea se configureaza astfel:

[Proiecte]
   comment = Proiecte comune
   path = /home/date/proiecte
   public = yes
   writable = yes

unde:

  • public permite accesul tuturor;
  • writable permite modificarea/adăugarea/ștergere fișierelor.

Setările sunt minime, Pentru setări avansate consultați documentația.

3.7.3 Implementarea unei imprimante PDF

3.8 Server ssh

Una dintre cele mai sigure metode de conectare intre 2 sisteme este SSH, un protocol ce realizeaza tranferul informatiilor in mod criptat.

3.8.1 Instalarea Openssh

Intalarea de serverului de ssh pe sistemul nostru se face cu comanda:

#urpmi openssh-server

Pornirea lui se face prin:

#service sshd start

:!: Asiguraţivă ca openssh porneşte la start-ul calculatorului. Acest lucru poate fi făcut prin MCC sau drakconf din linia de comandă.

Conectarea pe acest server de pe alte sisteme se face fie cu aplicatii dedicate ca Putty ori Xshell sau din linia de comanda:

ssh user@ip_calculator

unde este necesara introducerea parolei.

3.8.2 Configurare Openssh

Fisierul de configurare al serverului openssh il gasim la /etc/sshd/sshd_conf

Aici putem seta câțiva parametrii utili:

* portul pe care asculta serverul

Port 4567

* daca permitem accesul administratorului

PermitRootLogin no

3.8.3 Conectarea fără parolă

In momentul când trebuie să vă conectaţi fregvent remote la o mulţime de servere, reţinerea parolelor devine o adevarata probelemă. Puteţi folosi diverse managere de parole dar pentru SSH există modul de conectare cu cheie publică/cheie privată.

Acest sistem presupune existenta unei perechi de chei unice:

  • cheie privata - cheie pe care o vam păzi ca pe ochii din cap şi nu o vom înstrăina
  • cheie publica - cheie care va exista pe serverele unde doriti conectarea.

Avem nevoie de urmatoarele pachete:

#urpmi openssh openssh-clients openssh-askpass-qt4 keychain

Generarea cheilor se face cu comanda ssh-keygen. Vi se va cere sa introduceţi o parolă (recomandat) si ea va unica parolă pe care trebuie sa o reţineţi.

[cristi@cristi ~]$ ssh-keygen -t rsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/cristi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/cristi/.ssh/id_rsa.
Your public key has been saved in /home/cristi/.ssh/id_rsa.pub.
The key fingerprint is:
72:8c:1f:32:89:d5:76:63:d9:36:56:6d:bf:e8:3c:10 cristi@cristi
he key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                .|
|             .E..|
|        S . . .. |
|       . o . +   |
|        o..  .=+ |
|        ..o oo*.+|
|        .o . o=Oo|
+-----------------+

În folderul ~/.ssh veţi găsi fişierele:

  • id_rsa - conţine cheia privată
  • id_rsa.pub - conţine cheia publică

Pentru a vă putea conecta fară parolă la un sistem remote, trebuie să adaugaţi cheia publică pe care aţi generat-o mai devreme pe sistemul vostru in fişierul ~/.ssh/authorized_keys2 pe sistemul remote.

Mai întâi copiaţi fişierul id_rsa.pub de pe sistemul vostru pe sistemul remote:

scp ~/.ssh/id_dsa.pub cristi@server:./id_rsa.pub
cristi@server's password:

Fişierul id_rsa.pub va fi copiat pe sistemul remote în directorul home al utilizatorului specificat.

Acum trebuie să vă logaţi (specificand parola) pe sistemul remote. Odată logat crează directorul ~/.ssh şi fisierul ~/.ssh/authorized_keys2

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch .ssh/authorized_keys2
$ chmod 600 .ssh/authorized_keys2
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
$ rm -f ~/id_rsa.pub

:!: Atenție: permisiunile stabilite mai sus sunt foarte importante.

In fișierul ~/.ssh/authorized_keys2 intreaga cheie publică este pe o singură linie.

Începând de la urmatoarea conexiune vă veţi putea conecta fară parolă.

Vă întrebţi unde vom folosi unica parola folosita la generarea cheilor? Aici e partea mişto. Parola vă va fi cerută după fiecare pornire a sistemului unde exista .ssh/id_rsa cand accesati o consola.

De acest lucru se ocupa aplicaţia keychain si openssh-askpass-qt4.

Verificaţi ca keychain sa fie pornit ca serviciu şi să existe următoarele foldere in directorul userului: .keychain si .gnupg

3.9 Accesare server cu Ip dinamic

In unele cazuri - cele mai multe - serverele noastre personale folosesc Ip dinamic acordat de furnizorul local de internet. Cum această adresa se modifica la fiecare coenxiune, e foarte uşor sa uitam adresa ip a serverului.

Dintre serviciile gratuite ce permit acest lucru mentionam Noip.org si DynDNS.com.

3.9.1 Configurare Noip

Dupa crearea unui cont si a unui domeniu din cele disponibile pe site-ul No-ip.com vom configura clientul ce va actualiza ip serverului pentru domeniile alese. Aceasta se gaseste in mediul contrib.

#urpmi noip

:!: Asigurativă ca aplicația noip porneşte la start-ul calculatorului. Acest lucru poate fi făcut prin MCC sau drakconf din linia de comandă.

Configurarea se face ca root prin comanda:

#noip -C

Auto configuration for Linux client of no-ip.com.

Please enter the login/email string for no-ip.com  user@domeniu.ro
Please enter the password for user 'user@domeniu.ro'  ********

2 hosts are registered to this account.
Do you wish to have them all updated?[N] (y/N)  y
Please enter an update interval:[30]  
Do you wish to run something at successful update?[N] (y/N)  N

New configuration file '/etc/noip.conf' created.

3.9.2 Configurare DynDNS

Dupa crearea unui cont si a unui domeniu din cele disponibile vom configura clientul ce va actualiza ip serverului pentru domeniile alese. Aceasta se gaseste in mediul contrib.

#urpmi ddclient

iar configurarea se face ca root prin editarea fisierului /etc/ddclient/ddclient.conf. Un exemplu de configurare este următorul:

daemon=300                              # check every 300 seconds
syslog=yes                              # log update msgs to syslog
pid=/var/run/ddclient.pid               # record PID in file.

protocol=dyndns2                                # default protocol
server=members.dyndns.org                       # default server

login=nume_utilizator                           # default login
password=parola_cont                            # default password
#mx=mx.for.your.host                            # default MX
#backupmx=yes|no                                # host is primary MX?
#wildcard=yes|no                                # add wildcard CNAME?

##
## dyndns.org dynamic addresses
##
## (supports variables: wildcard,mx,backupmx)
##
custom=yes
server=members.dyndns.org,              \
protocol=dyndns2                        \
dns-ales.selfip.net,dns-ales.ath.cx

:!: Asigurați-vă că aplicația ddclient porneşte la start-ul calculatorului. Acest lucru poate fi făcut prin MCC sau drakconf din linia de comandă.

Prezentare - Partea I - Partea a II-a - Partea a III-a - Partea a IV-a - Partea a V-a

mandriva/ghid-2011-p3.txt · Ultima modificare: 2012/08/27 20:02 de către cgherman