lamp for centos

sunt multe tutoriale pe net despre ce ar trebui sa instalezi in calculator ca sa ai un lamp ( apache + php + mysql ) functional.
Mi-a venit ideea sa rezumez toate comenzile intr-un script, astfel ca toata instalarea sa arata doar ca un apel de script:

MYSQL_PASSWORD=mysecretpassword

### activare mod debug in bash
#set -x

### install mysql
echo -e "\n\nInstall MYSQL\n\n"
yum install mysql mysql-server
chkconfig --level 235 mysqld on
/etc/init.d/mysqld start

echo -e "\n\nMYSQL: set password for root@localhost : $MYSQL_PASSWORD\n"
mysqladmin -u root password $MYSQL_PASSWORD

echo -e "\n\nMYSQL: set password for root@`hostname` : $MYSQL_PASSWORD\n"
mysqladmin -h `hostname` -u root -p password $MYSQL_PASSWORD

### install apache2
echo -e "\n\nInstall Apache2\n\n"
yum install httpd
chkconfig --levels 235 httpd on
/etc/init.d/httpd start

### install php
echo -e "\n\nInstall PHP\n\n"
yum install php php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc
/etc/init.d/httpd restart

### test php
echo -e "\n\nWrite /var/www/html/index.php test file\n\n"
echo "<?php phpinfo(); ?>" > /var/www/html/index.php

### install phpmyadmin
echo -e "\n\nInstall phpmyadmin\n\n"
## activam repositoryul RPMForge
echo -e "\n\nActivate rpmforge repository"
cd /tmp/
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.`uname -m`.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.`uname -m`.rpm

yum install phpmyadmin

## in urmatorul fisier trebuie comentat <Directory>... pentru a permite toate conexiunile ( nu numai localhost )
echo -e "\n\nIn file /etc/httpd/conf.d/phpmyadmin.conf comment the <Directory>\n"
read -p "go to file..."
vi /etc/httpd/conf.d/phpmyadmin.conf

## in fisierul asta treb modificat $cfg['Servers'][$i]['auth_type'] = 'http';
echo -e "\n\nIn file /usr/share/phpmyadmin/config.inc.php set variable:\n\n $cfg['Servers'][$i]['auth_type'] = 'http';\n\n"
read -p "go to file..."
vi /usr/share/phpmyadmin/config.inc.php

/etc/init.d/httpd restart

echo -e "\n\n\nDone.\n\n"

Download from here

In script se mai cere din cand in cand si interventia utilizatorului… yes… no… password :)

NB: scriptul instaleaza si phpmyadmin

how to check the exit status code

Atunci cand un program isi termina executia, el returneaza un cod de eroare. Acest cod nu este afisat la monitor implicit. Pentru a prelucra informatia din acest cod este necesar a se vedea continutul variabilei “$?“.

Sa presupunem ca se cauta un string intr-un fisier text:

$ grep mama family.txt
$

Deviceul standart de output nu va returna nimic, ceea ce ar insemna ca acel string nu poate fi gasit in fisier. Ce se intimpla atunci cand se pune aceasta comanda intr-un script? Acest caz ar trebui tratat diferit.

Verificarea codului de eroare se face astfel:

$ grep mama family.txt
$ echo $?
1

A se nota faptul ca codul 0 reprezinta o rulare terminata cu succes, iar diferit de 0 inseamna aparitia unei erori.
Pentru a verifica acest cod intr-un script, se poate face astfel :

1 grep mama2 family.txt
2 if [ $? -eq 0 ]; then
3     echo "success"
4 else
5     echo "fail"
6 fi

atat

foi cu… todo

stau, acum la sfarsit de an si incerc sa imi fac nishte obiective pe care sa le indeplinesc anu viitor. Sunt, in general, dezorganizat si as vrea sa incepsa rezolv putin problema asta a mea.
Astfel, mi-a venit idee de o lista cu todo / management al timpului. Si… am inceput sa caut pe net… am gasit cateva scripturi de php/mysql concepute pt a face asta:

myTinyTodo – http://www.mytinytodo.net/ – chiar e micutz… si daca nu ai pretentii prea mari de la el, cred ca s-ar descurca. (are si un demo )

samToDo – http://samjlevy.com/?page_id=30 -in comparatie cu myTinyTodo pare putin mai avansat, are suport pt useri (cel putin din demo lor).  Nu se pot vedea todo dintr-o anume categorie… parca nu e facut pana la capat.

todolist.php – http://sourceforge.net/projects/todolist/ … nu mam uitat peste el, dar are nishte screenshoturi la ei pe site

taskstep – http://ethan.romba.org/taskstep – dintr-un screenshot…. am ales sa mi-l instalez pe asta… si sa il testez mai detaliat… Update: designul e frumos, poate asta si m-a atras, dar ca functionalitate are multe minusuri.

revin…

Update: dupa ce am instalat taskstep… cred ca il shterg si incerc cu myTinyTodo :)