Revision [3091]
Last edited on 2009-10-26 07:23:23 by PuppyiteAdditions:
With Puppy version 4.1 Barry Kauler discovered a wonderful web-server; Hiawatha [[http://en.wikipedia.org/wiki/Hiawatha_webserver Wikipedia Hiawatha-webserver]]. This web-server is small and fast in keeping with puppy philosophy.
The author of Hiawatha, Hugo Leisink has written it with security in mind. Barry's intentions were driven by the desire to include the blogging software he uses, PPLOG which is a small perl script. Consequently Hiawatha came configured by default to run perl as a CGI program to interpret .pl scripts (Hiawatha was left out of puppy 4.2.1) Investigation into Hiawatha shows it to be quite a performer in terms of throughput of pages served (purportedly twice as fast as Apache with static content) and appears to have much of the flexibility in its configuration as that available with Apache. Configuration options for virtual hosts, user and ip address based security and to run with ssl are easier to configure than Apache. It also has URL rewriting toolkit required to run many CMS applications. The problem with Apache is that is now quite large and it forks additional processes each requiring a large chunk of memory for additional connections. Performance in terms of memory utilisation is a snag particularly when many machines that run puppy may well be challenged in this department. We puppyofiles like to do more with less and Hiawatha with it's binary just 113k (as of version 6.16) running a multi-threaded rather than pre-fork model appears to be the perfect antidote to the Apache resource hog. (I have a 256Meg web-server on an old Athlon machine running our php/mysql/hiawatha squash court booking system, that has been running for months without a reboot and still has RAM to spare http://fraserparksquash.org.nz/Bookings/ - the apache squash file version had to have weekly reboots).
The author of Hiawatha, Hugo Leisink has written it with security in mind. Barry's intentions were driven by the desire to include the blogging software he uses, PPLOG which is a small perl script. Consequently Hiawatha came configured by default to run perl as a CGI program to interpret .pl scripts (Hiawatha was left out of puppy 4.2.1) Investigation into Hiawatha shows it to be quite a performer in terms of throughput of pages served (purportedly twice as fast as Apache with static content) and appears to have much of the flexibility in its configuration as that available with Apache. Configuration options for virtual hosts, user and ip address based security and to run with ssl are easier to configure than Apache. It also has URL rewriting toolkit required to run many CMS applications. The problem with Apache is that is now quite large and it forks additional processes each requiring a large chunk of memory for additional connections. Performance in terms of memory utilisation is a snag particularly when many machines that run puppy may well be challenged in this department. We puppyofiles like to do more with less and Hiawatha with it's binary just 113k (as of version 6.16) running a multi-threaded rather than pre-fork model appears to be the perfect antidote to the Apache resource hog. (I have a 256Meg web-server on an old Athlon machine running our php/mysql/hiawatha squash court booking system, that has been running for months without a reboot and still has RAM to spare http://fraserparksquash.org.nz/Bookings/ - the apache squash file version had to have weekly reboots).
Deletions:
The author of Hiawatha Hugo Leisink has written it with security at the front of mind. Barry's intentions were driven by the desire I believe to include the blogging software he uses PPLOG which is a small perl script. Consequently Hiawatha came configured by default to run perl as a CGI program to interpret .pl scripts (Hiawatha was left out of puppy 4.2.1) Investigation into Hiawatha shows it to be quite a performer in terms of throughput of pages served (purportedly twice as fast as Apache with static content) and appears to have much of the flexibility in its configuration as that available with Apache. Configuration options for virtual hosts, user and ip address based security and to run with ssl are easier to configure than Apache. It also has URL rewriting toolkit required to run many CMS applications. The problem with Apache is that is now quite large and it forks additional processes each requiring a large chunk of memory for additional connections. Performance in terms of memory utilisation is a snag particularly when many machines that run puppy may well be challenged in this department. We puppyofiles like to do more with less and Hiawatha with it's binary just 113k (as of version 6.16) running a multi-threaded rather than pre-fork model appears to be the perfect antidote to the Apache resource hog. (I have a 256Meg web-server on an old Athlon machine running our php/mysql/hiawatha squash court booking system, that has been running for months without a reboot and still has RAM to spare http://fraserparksquash.org.nz/Bookings/ - the apache squash file version had to have weekly reboots).
Revision [3090]
Edited on 2009-10-26 07:20:26 by PuppyiteAdditions:
[[http://www.hiawatha-webserver.org/ Hiawatha]] is a secure and advanced web server.
Deletions:
Revision [3089]
Edited on 2009-10-26 07:19:58 by PuppyiteAdditions:
Setup Linux-Firewall Wizard and enable **Http Web Server** using the custom option.
Run Hiawatha by typing **hiawatha** at the conole.
To stop the server, type in **killall hiawatha**.
In /root/Web-Server the file index.html can be a test web page.
Run Hiawatha by typing **hiawatha** at the conole.
To stop the server, type in **killall hiawatha**.
In /root/Web-Server the file index.html can be a test web page.
Deletions:
Run Hiawatha by typing **hiawatha** at the conole
To stop the server, type in **killall hiawatha**
In /root/Web-Server the file index.html can be a test web page
Revision [3088]
Edited on 2009-10-26 07:18:54 by PuppyiteAdditions:
You will need two computers connected to a network switch or router.
Deletions:
Revision [3087]
Edited on 2009-10-26 07:18:06 by PuppyiteAdditions:
You will need two computers connected to a network switch.
Deletions:
Revision [2995]
Edited on 2009-10-25 16:34:56 by PuppyiteNo differences.
Revision [2994]
Edited on 2009-10-25 16:32:49 by PuppyiteAdditions:
Both php and mysql were compiled using devx_420.sfs as prepared by ""WhoDo"" for 4.2. Compliation options to exclude documentation (which is online) the mysql cluster code, the enormous mysql test-suite, the enormous PHP PEAR were used to minimise the size of the .pet but retain as much functionality as possible. PHP includes ftp, gettext, gd, xml, mysql and mysqli, sql-lite functionality. Mysql retains myisam, isam and innodb table types by default, together with all the usual mysql utilities including mysqldump, mysql client, mysqladmin etc.
Deletions:
Revision [2993]
Edited on 2009-10-25 16:31:52 by PuppyiteAdditions:
======{{color text="PHP web-serving with MySQL" c="green"}}======
Deletions:
Revision [2992]
Edited on 2009-10-25 16:30:32 by PuppyiteAdditions:
**PHP as a Module or ""FastCGI""**
Running PHP as a module of Apache means that the PHP binary is already loaded when a request is fielded to run a PHP script and traditionally has been the favoured way of running PHP. However, development of Fast CGI also allows PHP daemons to be running ready to field requests thus reducing the overhead compared to running PHP as a CGI program - where it has to be loaded on each request - and holds a severe performance penalty. Hiawatha happily has the ability to run PHP as a ""FastCGI"" daemon. I have not done any bench-marking on performance of ""FastCGI"" Hiwatha PHP to Apache PHP moule - it would be interesting to see the results - it is my pick that Hiawatha/""FastCGI PHP"" might well be faster.
This pet contains the necessary /etc/hiawatha/hiawatha.conf settings to serve .php web-pages with PHP running as a ""fastCGI"" daemons. Hiawatha comes with a program to launch a series of PHP daemons and again the config of php-fcgi is included in the .pet. The .pet also has a scripts in /etc/init.d/
Running PHP as a module of Apache means that the PHP binary is already loaded when a request is fielded to run a PHP script and traditionally has been the favoured way of running PHP. However, development of Fast CGI also allows PHP daemons to be running ready to field requests thus reducing the overhead compared to running PHP as a CGI program - where it has to be loaded on each request - and holds a severe performance penalty. Hiawatha happily has the ability to run PHP as a ""FastCGI"" daemon. I have not done any bench-marking on performance of ""FastCGI"" Hiwatha PHP to Apache PHP moule - it would be interesting to see the results - it is my pick that Hiawatha/""FastCGI PHP"" might well be faster.
This pet contains the necessary /etc/hiawatha/hiawatha.conf settings to serve .php web-pages with PHP running as a ""fastCGI"" daemons. Hiawatha comes with a program to launch a series of PHP daemons and again the config of php-fcgi is included in the .pet. The .pet also has a scripts in /etc/init.d/
Deletions:
Running PHP as a module of Apache means that the PHP binary is already loaded when a request is fielded to run a PHP script and traditionally has been the favoured way of running PHP. However, development of Fast CGI also allows PHP daemons to be running ready to field requests thus reducing the overhead compared to running PHP as a CGI program - where it has to be loaded on each request - and holds a severe performance penalty. Hiawatha happily has the ability to run PHP as a FastCGI daemon. I have not done any bench-marking on performance of FastCGI Hiwatha PHP to Apache PHP moule - it would be interesting to see the results - it is my pick that Hiawatha/FastCGI PHP might well be faster.
This pet contains the necessary /etc/hiawatha/hiawatha.conf settings to serve .php web-pages with PHP running as a fastCGI daemons. Hiawatha comes with a program to launch a series of PHP daemons and again the config of php-fcgi is included in the .pet. The .pet also has a scripts in /etc/init.d/