Forum » Operacijski sistemi » WinXP pro & CYGWIN
WinXP pro & CYGWIN
Technitz ::
Windows XP profesional -> Apache 2 (w32), PHP 5 (w32), MySQL (w32)
CYGWIN -> Perl 5.8, MySQL client, sshd, crond, netutils
V upanju, da bo najdi.si tole objavo zindexiral, ko bom nedvomno spet potreboval te informacije... Morda se komu pride prav.
PROBLEM:
Novi racunalnik, bolje receno notebook (Prestigio 159, WXGA, Radeon, Bluetooth, WiFi, TV tuner, etc.) Web development mashina ( + World of Warcraft :)) in res nimam casa za Linux hacking. Probal sem zadnji Debian z malo uspeha, grafika ok, sound in modem sem se nekako se ustimal in pol obupal.
RESITEV:
I. WinXP pro.
II. CYGWIN
* Instalacija iz http://cygwin.com
* Sprva sem si izbral samo default instalacijo in kasneje dodal se perl, gcc, ping, binutils,... Sigurno je najbolje naloziti kar ves CD v nek direktorij, le da pol pri instalaciji setup.exe na vsakemu paketu prvo napravi MD5 checksum, kar traja natanko 5 minut predolgo.
* Installation path: D:\ ( kljub priporocilu da to ni "recommended" )
* system enviroment CYGWIN=tty ntea (in seveda reboot, da prime?)
! Uporaba windows command prompta za CYGWIN smrdi u nulo. Resize je obupen, history se bolj. Skratka cmd ne sploh.
Workaround a)
Telnet ali sshd & PuTTY
Evo en trik k sem ga ves dan isku zaman! Kako startat Cygwin xinetd tako, da laufa kot windows service:
bash$ cygrunsrv.exe --install xinetd --path /usr/sbin/xinetd.exe --disp "cygwin-xinetd" --desc "Cygwin xinetd server process [xinetd]"
Ta ukaz pod windows services (Start -> Run -> services.msc) namesti service imenovan "cygwin-xinetd". Lahko ga startas iz tam ali iz bash-a z:
bash$ cygrunsrv.exe --start xinetd
Workaround b)
Na netu ( http://gecko.gc.maricopa.edu/~medgar/pu... ) sem nasu tega strica, ki je napisal patch za PuTTy-ja. Patch omogoca uporabo PuTTy-ja kot local shell terminal-a. Zadeva dela strasno dobro. !!! Pri nastavitvi pazi da das hostname na '-' (minus) !!! Port je ignoriran. Term type: xterm
Bliznjico nikar ne nastavljaj da starta v maximized mode-u ker tko sesujes vim, emacs... Window resize vsakic na roke. ( Alt + Space, X ) Ima kdo boljso idejo?
III. Apache2 (win32 bin) Instalacija brez posebnosti na d:\usr\local\apache2
IV. PHP (win32 bin) Instalacija na d:\usr\local\php
Pazi, da ko enkrat dodas directorij v system enviroment PATH rebootas windows. Pha! Kdo bi si mislil?
V httpd.conf dodas:
### PHP stuff
#
PHPINIDir D:/usr/local/php
LoadModule php5_module "D:/usr/local/php/php5apache2.dll"
AddType application/x-httpd-php .php
#
###
Ne pozabit na DirectoryIndex dodat tudi index.php. Tko k sem jest.
V. Perl
Simple k pasulj. V https.conf dodas:
ScriptAlias /cgi-bin/ "D:/var/www/localhost/cgi-bin/"
...in stvar skoraj dela. Trik je v .pl kjer je v header treba napisat:
#!d:/bin/perl
... in ne:
#!/usr/bin/perl
...kot sem seveda sprva naredu.
VI. mySQL (win32 bin)
Install path: d:\usr\local\mysql-w32 (zakaj tle w32? Zaradi klijenta. Beri dalje)
Ni kaksnih posebnosti. Instalira se BP in zalaufa servis kot se spodobi.
VI. mySQL client za CYGWIN
Problem: mysql.exe, ki pride zraven windows instalacije ne dela znotraj cygwin, kljub temu, da
naceloma .exe programi, ki delajo v cmd-ju delajo ok. Zadeva zasteka pri vnosu gesla, CPU 100%
Resitev je v tem, da zbildas mysql pod cygwin-om. Za to pa rabis:
1. Mysql UNIX source
To odpakiras v nek temp dir in ne gres prec linkat ampak patchat kodo, da bo link sploh delal:
a) iz vseh file-ov izbrisi '#pragma interface'. Tkole( http://sources.redhat.com/ml/cygwin/200... ):
bash$ perl -i.rpi -pe 's/^#pragma interface.*$//;' `fgrep -rl '#pragma interface' .`
b) kot pravi ( http://bugs.mysql.com/bug.php?id=5343 ) popravi mysys/my_thr_init.c:
line 72 (+/-): pthread_mutexattr_setkind_np(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK_NP);
zamenjaj z:
#ifdef __CYGWIN__
pthread_mutexattr_settype(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK);
#else
pthread_mutexattr_setkind_np(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK_NP);
#endif
2. bash$ ./configure --prefix=/usr/local/mysql --enable-thread-safe-client
3. bash$ make (cakas cca. 40 minut)
4. bash$ make install (cakas 3 minute)
MySql SERVER je zdaj instaliran na dveh mestih v windoze in cygwin, vem. Bom ze pol zbrisu. Prvo rabim se DBD::mysql zlinkat.
Windows verzijo klijenta preimenuj na mysqlw32.exe ali karkoli. /usr/local/mysql/bin dodaj v cygwin path npr. v ~/.profile ali /etc/profile
Zdaj pa, v windows verziji server / klijent komunicirata preko named pipe-a, dokler unix verzije po defaultu komunicirajo prek unix socket-a, se pravi /tmp/mysql.sock
bash$ mysql ne bo delal dokler mu eksplicitno ne recemo, da komunicira preko tcp-a, v nasprotnem se bo pritolzeval z 'unable to find /tmp/mysql.sock' ali nekaj slicnega.
bash$ alias mysql="mysql --protocol=tcp"
...opravi to delo uspesno.
Se test: bash$ mysql -u root -p ... lejga zlomka dela!
cpan> install DBD::mysql je treba force-at ker make test po defaultu isce mysql.sock Zdaj pa upam, da ima DBD::mysql narejeno podporo za 'protocol=tcp' :)
Morda se ena zelo cool zadeva. Kako startat ultraedit32 iz cygwin?
bash$ cygstart --open uedit32 test.txt
Se nekaj, tko off the subject. Ce boste kupoval Prestigio notebook-a vedite, da NIMAJO PS2 izhodov. No, vsaj moj ga nima. Obstajajo USB / PS2 pretvorniki, ki pa NE DELAJO VSI. Model cy-155, ki ga prodajajo na Techtrade-u in podpira USB 1.1 full serje. Vsake 20 - 50 tipk se zadeva resetira in zadnjo tipko ponovi eno 20x. Tipkovnica je nato neuporabna vsaj 10 sec. Sedaj imam nek drug model, mislim, da iz com-shop-a in ta dela OK. Dejstvo je da tudi cy-155 dela a samo na USB 1.1 portih.
Zdaj pa imam se nekaj vprasanj, ce se je kdo slucajno ze ukvarjal z slicnimi tezavami:
- Zakaj make tako dolgo traja. 1.7GHz masina linka k da bi bla 486-ka z defektnim ramom?
- A kdo ve ali obstaja DBD::mysql podpora za protocol=tcp?
- Obstaja nacin kako pognat cygwin mysqld skozi cygrunsrv.exe?
lp
CYGWIN -> Perl 5.8, MySQL client, sshd, crond, netutils
V upanju, da bo najdi.si tole objavo zindexiral, ko bom nedvomno spet potreboval te informacije... Morda se komu pride prav.
PROBLEM:
Novi racunalnik, bolje receno notebook (Prestigio 159, WXGA, Radeon, Bluetooth, WiFi, TV tuner, etc.) Web development mashina ( + World of Warcraft :)) in res nimam casa za Linux hacking. Probal sem zadnji Debian z malo uspeha, grafika ok, sound in modem sem se nekako se ustimal in pol obupal.
RESITEV:
I. WinXP pro.
II. CYGWIN
* Instalacija iz http://cygwin.com
* Sprva sem si izbral samo default instalacijo in kasneje dodal se perl, gcc, ping, binutils,... Sigurno je najbolje naloziti kar ves CD v nek direktorij, le da pol pri instalaciji setup.exe na vsakemu paketu prvo napravi MD5 checksum, kar traja natanko 5 minut predolgo.
* Installation path: D:\ ( kljub priporocilu da to ni "recommended" )
* system enviroment CYGWIN=tty ntea (in seveda reboot, da prime?)
! Uporaba windows command prompta za CYGWIN smrdi u nulo. Resize je obupen, history se bolj. Skratka cmd ne sploh.
Workaround a)
Telnet ali sshd & PuTTY
Evo en trik k sem ga ves dan isku zaman! Kako startat Cygwin xinetd tako, da laufa kot windows service:
bash$ cygrunsrv.exe --install xinetd --path /usr/sbin/xinetd.exe --disp "cygwin-xinetd" --desc "Cygwin xinetd server process [xinetd]"
Ta ukaz pod windows services (Start -> Run -> services.msc) namesti service imenovan "cygwin-xinetd". Lahko ga startas iz tam ali iz bash-a z:
bash$ cygrunsrv.exe --start xinetd
Workaround b)
Na netu ( http://gecko.gc.maricopa.edu/~medgar/pu... ) sem nasu tega strica, ki je napisal patch za PuTTy-ja. Patch omogoca uporabo PuTTy-ja kot local shell terminal-a. Zadeva dela strasno dobro. !!! Pri nastavitvi pazi da das hostname na '-' (minus) !!! Port je ignoriran. Term type: xterm
Bliznjico nikar ne nastavljaj da starta v maximized mode-u ker tko sesujes vim, emacs... Window resize vsakic na roke. ( Alt + Space, X ) Ima kdo boljso idejo?
III. Apache2 (win32 bin) Instalacija brez posebnosti na d:\usr\local\apache2
IV. PHP (win32 bin) Instalacija na d:\usr\local\php
Pazi, da ko enkrat dodas directorij v system enviroment PATH rebootas windows. Pha! Kdo bi si mislil?
V httpd.conf dodas:
### PHP stuff
#
PHPINIDir D:/usr/local/php
LoadModule php5_module "D:/usr/local/php/php5apache2.dll"
AddType application/x-httpd-php .php
#
###
Ne pozabit na DirectoryIndex dodat tudi index.php. Tko k sem jest.
V. Perl
Simple k pasulj. V https.conf dodas:
ScriptAlias /cgi-bin/ "D:/var/www/localhost/cgi-bin/"
...in stvar skoraj dela. Trik je v .pl kjer je v header treba napisat:
#!d:/bin/perl
... in ne:
#!/usr/bin/perl
...kot sem seveda sprva naredu.
VI. mySQL (win32 bin)
Install path: d:\usr\local\mysql-w32 (zakaj tle w32? Zaradi klijenta. Beri dalje)
Ni kaksnih posebnosti. Instalira se BP in zalaufa servis kot se spodobi.
VI. mySQL client za CYGWIN
Problem: mysql.exe, ki pride zraven windows instalacije ne dela znotraj cygwin, kljub temu, da
naceloma .exe programi, ki delajo v cmd-ju delajo ok. Zadeva zasteka pri vnosu gesla, CPU 100%
Resitev je v tem, da zbildas mysql pod cygwin-om. Za to pa rabis:
1. Mysql UNIX source
To odpakiras v nek temp dir in ne gres prec linkat ampak patchat kodo, da bo link sploh delal:
a) iz vseh file-ov izbrisi '#pragma interface'. Tkole( http://sources.redhat.com/ml/cygwin/200... ):
bash$ perl -i.rpi -pe 's/^#pragma interface.*$//;' `fgrep -rl '#pragma interface' .`
b) kot pravi ( http://bugs.mysql.com/bug.php?id=5343 ) popravi mysys/my_thr_init.c:
line 72 (+/-): pthread_mutexattr_setkind_np(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK_NP);
zamenjaj z:
#ifdef __CYGWIN__
pthread_mutexattr_settype(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK);
#else
pthread_mutexattr_setkind_np(&my_errchk_mutexattr, PTHREAD_MUTEX_ERRORCHECK_NP);
#endif
2. bash$ ./configure --prefix=/usr/local/mysql --enable-thread-safe-client
3. bash$ make (cakas cca. 40 minut)
4. bash$ make install (cakas 3 minute)
MySql SERVER je zdaj instaliran na dveh mestih v windoze in cygwin, vem. Bom ze pol zbrisu. Prvo rabim se DBD::mysql zlinkat.
Windows verzijo klijenta preimenuj na mysqlw32.exe ali karkoli. /usr/local/mysql/bin dodaj v cygwin path npr. v ~/.profile ali /etc/profile
Zdaj pa, v windows verziji server / klijent komunicirata preko named pipe-a, dokler unix verzije po defaultu komunicirajo prek unix socket-a, se pravi /tmp/mysql.sock
bash$ mysql ne bo delal dokler mu eksplicitno ne recemo, da komunicira preko tcp-a, v nasprotnem se bo pritolzeval z 'unable to find /tmp/mysql.sock' ali nekaj slicnega.
bash$ alias mysql="mysql --protocol=tcp"
...opravi to delo uspesno.
Se test: bash$ mysql -u root -p ... lejga zlomka dela!
cpan> install DBD::mysql je treba force-at ker make test po defaultu isce mysql.sock Zdaj pa upam, da ima DBD::mysql narejeno podporo za 'protocol=tcp' :)
Morda se ena zelo cool zadeva. Kako startat ultraedit32 iz cygwin?
bash$ cygstart --open uedit32 test.txt
Se nekaj, tko off the subject. Ce boste kupoval Prestigio notebook-a vedite, da NIMAJO PS2 izhodov. No, vsaj moj ga nima. Obstajajo USB / PS2 pretvorniki, ki pa NE DELAJO VSI. Model cy-155, ki ga prodajajo na Techtrade-u in podpira USB 1.1 full serje. Vsake 20 - 50 tipk se zadeva resetira in zadnjo tipko ponovi eno 20x. Tipkovnica je nato neuporabna vsaj 10 sec. Sedaj imam nek drug model, mislim, da iz com-shop-a in ta dela OK. Dejstvo je da tudi cy-155 dela a samo na USB 1.1 portih.
Zdaj pa imam se nekaj vprasanj, ce se je kdo slucajno ze ukvarjal z slicnimi tezavami:
- Zakaj make tako dolgo traja. 1.7GHz masina linka k da bi bla 486-ka z defektnim ramom?
- A kdo ve ali obstaja DBD::mysql podpora za protocol=tcp?
- Obstaja nacin kako pognat cygwin mysqld skozi cygrunsrv.exe?
lp
64202 ::
Uno s puttyem ni nujno potrebno ker ima cygwin prilozen win32 port rxvtja v bin direktoriju z vsem drugim. Ne vem pa, zakaj ni default.
btw.: nic te pa ne kosta (razen par un downloada ), ce za hec probas se SUSE ftp install, ker slovi po najbolj plug'n'play podpori za laptope.
btw.: nic te pa ne kosta (razen par un downloada ), ce za hec probas se SUSE ftp install, ker slovi po najbolj plug'n'play podpori za laptope.
I am NaN, I am a free man!
64202 ::
> - Zakaj make tako dolgo traja. 1.7GHz masina linka k da bi bla 486-ka z defektnim ramom?
cygwin unix fs emulacijski layer je zelo pocasen. Recimo ce das komando find v enem velikem direktoriju, deluje zelo pocasi. Koreknost pred hitrostjo ocitno. Nisem pa ziher koliko to na linkanje vpliva, ni pa gnujev ld kaj pretirano hitra zadeva itak.
cygwin unix fs emulacijski layer je zelo pocasen. Recimo ce das komando find v enem velikem direktoriju, deluje zelo pocasi. Koreknost pred hitrostjo ocitno. Nisem pa ziher koliko to na linkanje vpliva, ni pa gnujev ld kaj pretirano hitra zadeva itak.
I am NaN, I am a free man!
Technitz ::
Hm... Ja, SUSE se nisem probal, je pa dobra ideja. Za rxvt sem vedel da je prilozen nisem pa vedel da gre za Win32 zadevo, nekje sem prebral da zadeva potrebuje X-e, pa sem raje preskocu
Zgodovina sprememb…
- spremenilo: Technitz ()
nejck ::
Morda se ena zelo cool zadeva. Kako startat ultraedit32 iz cygwin?
bash$ cygstart --open uedit32 test.txt
to men dela tud brez cygstart --open :)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
! | Postavitev Apache serverja s podporo za PHP in MySQL (strani: 1 2 3 4 5 6 7 )Oddelek: Izdelava spletišč | 253065 (27730) | miko22 |
» | [C] MySQLOddelek: Programiranje | 2813 (1835) | Tutankhamun |
» | problem z phpjemOddelek: Izdelava spletišč | 4257 (3670) | snow |
» | Linux: MySQL problemOddelek: Operacijski sistemi | 1049 (981) | FXMagic |
» | Mysql problem z zagonomOddelek: Izdelava spletišč | 1189 (1051) | Gandalfar |