Kanpo Web Erabiltzaileak

Kanpo web erabiltzaile berri bat sortzeko lehen pausua SFTP erabiltzaile mugatu berri bat sortzea da. Adibide honetan webuser erabiltzaile izena erabiliko da.

Behin prozesua amaituta hurrengo urratsa web orrialdearen gordailua sortzea da. Kasu honetan web orrialdeak /var/www direktorioan gordeko dira. Beraz:

sudo mkdir /var/www/webuser
sudo chown webuser:webuser /var/www/webuser
sudo chmod 755 /var/www/webuser

webuser erabiltzailea SFTP erabiltzaile mugatu da, beraz ez du /var/www direkotorioa atzizeko modurik. Atzipena ahalbidetzeko ezinbestekoa da direktorio binding-a egitea. Lehenik erabiltzaileran home-an www izeneko direkotorioa sortu beharra dago:

sudo mkdir /home/webuser/www

ondoren direktorio biak binding prozesuaz linkatu:

sudo mount /var/www/webuser /home/webuser/www -o bind

horrela erabiltzaileak /var/www/webuser direktorioaren edukia atzigarri izango du /home/webuser/www direktorioaren bitartez. Prozesu hau ordea ez da behin betikoa. Zerbitzaria berabiatzearakoan komando bera exekutatu beharko da berriz ere. Hori dela eta /etc/rc.local script-ean lerro hori gehitzea gomendatzen da (Kasu honetan azken script horretan exekutatzen den azpi-script batean gehitu da /home/myuser/bin/mount-binds.sh-an alegia).

Azkenik, web erabiltzaile askok mysql datu basera atzipena beharrezkoa izaten dute. Horretarako phpmyadmin bezalako tresna bat erabiltzea gomendatze da. Prozesuan honako puntuak izan beharko dira kontuan:

  • Sortutako erabiltzailearen izen eta pasahitza sistemakoaren berak izatea gomendatzen da.
  • Erabiltzaileari baimen global guztiak ezabatu behar zaizkio (zerbitzariko beste edozein datu base atzitu ez dezan).
  • Erabiltzaile izen berbera izango duen datu base berria sortzea.
  • Erabiltzaileari bere datu base propioari beharrezko baimenak ematea.

Atzipen ez onartuak ekiditeko, garrantzi handikoa da sortutako erabiltzailearen baimenak egiaztatzea,

Ubuntu Komando Glosarioa

A

  • apt-get install [pakete-izena]  Paketea eta bere dependentziak sisteman instalatu.
  • apt-get update – Sistemako pakete repositoriaren informazioa eguneratu.
  • apt-get upgrade – Eguneraketa duten sistemako pakete guztiak eguneratu.
  • apt-get remove [pakete-izena] – Aukeratutako paketearen exekutagarriak sistematik ezabatu.
  • apt-get –purge remove [pakete-izena] – Aukeratutako paketearen exekutagarri eta konfigurazio fitxategi guztiak sistematik ezabatu.

B

  • blkid /dev/[partizio-identificadorea] – Emandako partizioaren UUID-a lortu.

D

  • dmraid -r – Hardwarezko raid diskoen egoera pantailaratu.

L

  • ln -s [jatorri-direktorioa] [helburu-linka] – Jatorri direktorio edo fitxategiaren esteka sortzen du helburuan.

M

  • make-ssl-cert generate-default-snakeoil –force-overwrite – Sisteman generikoki erabiliko diren zertifikatuak berritzeko komandoa.
  • mount [jatorri-direktorioa] [muntaketa-direktorioa] -o bind – Jatorri direktorioa muntaketa direktorioan muntatzen du. Jatorri direktorioaren edukia beraz muntaketa direktorioan atzigarri aurkituko da.

P

  • passwd [erabiltzaile-izena] – Erabiltzailearen pasahitza ezarri/berritu.

S

  • smbmount //[zerbitzaria]/[jatorri-direktorioa] [helburu-direktoria] -o user=[erabiltzailea] – Samba diskoa emandako helburu direkotioan muntatuko du.

U

  • useradd [erabiltzaile-izena] – Erabiltzaile berri bat sistemara gehitu.
  • usermod -s [komando-interpretatzailea] [erabiltzaile-izena] – Erabiltzailearen komando interpretatzailea ezarri (/bin/sh, /bin/bash, /bin/false…).
  • usermod -d [home-direktorioa] [erabiltzaile-izena] – Erabiltzailearen home direktorioa ezarri.

ANT Fitxategiak

ANT Fitxategiak Javan, C lengoaian ezagunak diren Makefile-en pareko dira. XML datu errepresentazioan oinarritzen dira eta kodea konpilatu eta exekutagarriak sortzeko jaio ziren. Ala ere, gaur egun, Eclipse bezalako garapen tresnarekin konbinatuz, helburu anitzetarako erabilgarriak dira. Adibide honetan, web gune baten garapenean izan dezaketen erabileretako bat deskribatuko da.

Web garapenean JavaScript eta CSS tresnak erabiltzen direnean, ezin bestekoa da kode-fitxategien tamaina minimizatzea. Orrialdearen deskarga denbora nabarmen murrizten duen teknika honek ordea, pauso nekagarri ugari jarraitzera behartzen gaitu; fitxategiak banan banan minifikatzea alegia.

Beraz lana automatizatzeko ANT bezalako tresna batez baliatzea ezinbestekoa suertatzen da. Minimizazio prozesurako YUI Compresor tresna erabili da. Behin konpresorea gure sisteman instalatuta, honako ANT fitxategia sortzea besterik ez dago:

<?xml version=”1.0″ encoding=”UTF-8″?>
<project name=”Build” default=”build” basedir=”.”>
<property name=”compressor” location=”C:/Program Files (x86)/YUICompressor/yuicompressor.jar”/>

<target name=”build”>
<property name=”js_src_folder” value=”js/”/>
<property name=”js_dst_folder” value=”js/min/”/>
<property name=”js_dst_file” value=”jquery.all.min.js”/>
<property name=”css_src_folder” value=”css/”/>
<!– Process JavaScript –>
<delete>
<fileset dir=”${js_src_folder}” includes=”*.min.js”/>
</delete>

<exec executable=”java” >
<arg value=”-jar”/>
<arg value=”${compressor}”/>
<arg value=”-o”/>
<arg value=”.js$:.min.js”/>
<arg value=”${js_src_folder}*.js”/>
</exec>
<copy todir=”${js_dst_folder}” overwrite=”true”>
<fileset dir=”${js_src_folder}” includes=”*.min.js”/>
</copy>

<delete>
<fileset dir=”${js_src_folder}” includes=”*.min.js”/>
</delete>
<!– –>

<!– Process CSS –>
<delete>
<fileset dir=”${css_src_folder}” includes=”*.min.css”/>
</delete>

<exec executable=”java” >
<arg value=”-jar”/>
<arg value=”${compressor}”/>
<arg value=”-o”/>
<arg value=”.css$:.min.css”/>
<arg value=”${css_src_folder}*.css”/>
</exec>
<!– –>
</target>
</project>

Fitxategia erabiltzailearen beharretara moldatu dadin, honako baloreak aldatu beharko dira:

  • <property name=”compressor” location=”C:/kokalekua/yuicompressor.jar“/>
  • <property name=”js_src_folder” value=”js/fitxategien/kokaleku/erlatiboa/“/>
  • <property name=”js_dst_folder” value=”js/fitxategien/helburu/erlatiboa/“/>
  • <property name=”css_src_folder” value=”css/fitxategi/kokaleku/erlatiboa/“/>

Oso garrantzitsua da helbide erlatiboak, fitxategiaren hasieran agertzen den <project name=”Build” default=”build” basedir=”.”> propietatearekin batera egoki konfiguratzea.

Moldaketa horiek egin ondoren, fitxategia gorde (Adibidez build.xml izenez) eta Eclipseko proiektuaren erro direktorioan kopiatu. Fitxategia exekutatu nahi izanez gero, ANT fitxategik modura exekutatu beharko da:

ANT Exekuzioa

ANT Exekuzioa

Sortze prozesua amaitzen denean, emaitza bezala, proiektuan aurkitzen diren JavaScript eta CSS fitxategiak automatikoki minimizatuak izango dira.

Esteka interesgarriak:

JDownloader Testuzko Linux Zerbitzari Batean

Post honetan ingurune grafikorik ez duen Linux zerbitzari batean JDownloader deskarga programaren instalaziorako pausuak argituko dira.

Lehen pausua JDownloader programa deskargatzea eta instalatzea da. Horretarako honako orrialdetik instaladorea lortu eta instalazio pausuak jarraitu besterik ez duzu. http://jdownloader.org/download

Behin aplikazioa instalatuta, exekutatu eta JDownloader-ek dakarren urruneko maneiurako Web Interfazea gaitu beharko duzu (Plugin-en artean aurki daiteke aukera hau).

Ondoren Xvfb komandoa instalatu beharra dago, horretarako honako pausuak jarraituz.

Azkenik honako kodea duen script-fitxategia sortu eta Linux sisteman instalatu beharko duzu honako pausuak egikarituz.

#!/bin/sh
 
set -e
 
JDOWNLOADER_USER=erabiltzailea
NDISPLAY=8765
 
XVFB_COMMAND="/usr/bin/Xvfb"
XVFB_COMMAND_OPS=":$NDISPLAY -ac"
JD_COMMAND="/usr/bin/java"
JD_COMMAND_OPS="-Xmx512m -jar /exekutagarrira/path/osoa/JDownloader.jar"
 
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
 
start() {
     start-stop-daemon --start --quiet --background --user $JDOWNLOADER_USER --exec $XVFB_COMMAND  -- $XVFB_COMMAND_OPS &
     export DISPLAY=:$NDISPLAY.0
     start-stop-daemon --start --quiet --background --user $JDOWNLOADER_USER --exec $JD_COMMAND -- $JD_COMMAND_OPS &
}
 
stop() {
     kill `ps aux | grep "$JD_COMMAND" | awk '{print $2}' | head -n 1`
     kill `ps aux | grep "$XVFB_COMMAND" | awk '{print $2}' | head -n 1`
}
 
case "$1" in
  start)
        echo "Starting daemon: "$NAME
          start
          echo "."
     ;;
  stop)
        echo "Stopping daemon: "$NAME
          stop
          echo "."
     ;;
  *)
     echo "Usage: "$1" {start|stop}"
     exit 1
esac
 
exit 0

Kontuan izan script honetan honako balioetan sistemaren araberako aldaketak egin beharko direla:

  • JDOWNLOADER_USER: script-a exekutatuko duen erabiltzailea (root erabiltzailea ez da gomendatzen).
  • NDISPLAY: Xvfb-k sortuko duen ingurune grafikoaren identifikadorea.
  • JD_COMMAND_OPS: JDownloader.jar elementua aurkitzen den direktorioaren path-a ezarri beharko da.

Behin pauso guzti hauek jarraituta, sistema berrabiaratu beharko da. Dena egoki joan baldin bada, JDownloader-en web interfazera konektatu ahal izango zara.

Xvfb Ingurune Grafiko Birtualak

Sortzen dituen errendimendu galerak direla eta, linux zerbitzarietan ez da inolako ingurune grafikorik abiatzen. Hori dela eta, ezinezkoa izaten da derrigorrez ingurune grafikoa beharrezko duten aplikazioak exekutatzea.

Arazo honi aurre egiteko, Xvfb komandoaz baliatu gaitezke. Xvfb edo X Virtual Framebuffer komandoak, memoria espazioan ingurune grafiko birtual bat sortzeko gai da. Horrela ingurunea beharrezko duten aplikaziak exekutatzeko gai ziango garelarik. Hauek dira Xvfb instalatu ahal izateko beharrezko pausuak:

sudo apt-get install xvfb
 
sudo apt-get install xfonts*

Bigarren komando hau ez da guztiz beharrezkoa sistema guztietan, baina garrantzitsua da  xvfb komandoa erabiltzean erroreak agertzen diren kasuetan.

Behin komandoa instalatuta bere erabilera honakoa litzateke

  • Ingurune birtuala sortu, non ingurunearen identifikadorea kasu honetan 8765 zenbakia izango den.

Xvfb :8765 -ac &

  • DISPLAY aldagaia eguneratu, exekutatuko den programak ingurune berriaren berri izan dezan (ez ahaztu identifikadorearen amaieran dagoen “.0” balioa).

export DISPLAY=:8765.0

  • Orain nahi dugun programaren komandoa idatzi:
gedit

Komando honen erabilera JDownloader programarekin testeatu da Ubuntu Server 8.04 LTS batean. Oso erabilgarria suerta daiteke komando bidezko maneiua ez duten programak zerbitzari batean martxan izateko.

Linux-en Hasiera Script-ak Gehitzen

Linux sistema bat abiaratzen denean, sistemako edota erabiltzaileak definitutako zerbitzuak hasieratzeko aukera eskaintzen da. Horretarako sistema nagusietan /etc/init.d/ direktorioan kokatuak egoten diren script fitxategiak erabiltzen dira.

Erabiltzaileak sortutako script bat txertatu nahi denean, aipatutako direktorioan kopiatu beharra dago. Ez ahaztu script-aren jabea eta taldea “root” izateaz eta exekuzio baimenak egokiak esleitzeaz, horretarako honako komandoak erabiliz:

sudo chown root:root /etc /init.d/
sudo chmod 700 /etc/init.d/

Hurrengo pausua, script-a sistema abiatzean exekuta dadin ezartzea da. Horretarako update-rc komandoa erabiliko da.

  • Script-a gaitzeko honako komandoa erabili behar da:
update-rc.d /etc/init.d/<script_fitxategia> defaults
  • Eta honakoa desgaitzeko:
update-rc.d -f /etc/init.d/<script_fitxategia> remove

Komando hauek ez diete script-ei inongo aldaketarik eragiten, sistemari script-aren berri ematen diote eta beharrezko estekak ezartzen dituzte sistema abiatzean gure fitxategia exekuta dadin.