This is my final release of the AmiCygnix version of the AAMP package.
This package provides a developer environment to create your web projects
on your Amiga. Just like the well known LAMP package for Linux, it includes
the HTTP server "Apache" with compiled in support for the scripting language
"PHP" and the database server "MySQL".
But it is not only interesting for web developers. Now you can run web app-
lications locally on your Amiga, for example the database administration tool
"phpMyAdmin" (http://www.phpmyadmin.net/home_page/index.php) or the picture
database "Coppermine" (http://coppermine-gallery.net) - just to mention a few.
With the included interpreter for "PHP" you can also create your own tools.
"PHP" is easy to understand and with it's extensions it is very powerful.
Finally the database server "MySQL" gives you the oportunity to manage your
data and share it with other users. External applications (e.g. iodbc) can use
it as a database backend.
Important: This package requires an AmiCygnix environment. If you don't want
to install the base package (amicygnix-base.lha), which needs about
170 MB of diskspace, you can install a minimalistic AmiCygnix env-
ironment called "AmiCygnix-Micro". It needs only about 11 MB and is
included in this archive. The installer script will install this
environment, if it cannot find an already installed AmiCygnix
package.
New in this release
-------------------
* Apache CGI module is working now.
* The MySQL frontend "mySQLcontrol" uses now the "pthreads.library" instead
of the old "threads.library".
* All binaries are linked with the latest AmiCygnix utility library.
* Added several examples for PHP and CGI
(drawer "Cygnix:Software/httpd-2.2.11/htdocs/examples"). Can be opened in
your browser with "http://localhost/examples".
* Several bugfixes.
Content
-------
This package contains several software packages and programs:
* Apache 2.2.11 (http://httpd.apache.org)
1. The Apache HTTP Server Project is an effort to develop and maintain an
open-source HTTP server for modern operating systems including UNIX and
Windows NT. The goal of this project is to provide a secure, efficient
and extensible server that provides HTTP services in sync with the
current HTTP standards.
Apache has been the most popular web server on the Internet since
April 1996.
These modules are compiled into the Apache binary:
- core_module (internal)
- authn_file_module (internal)
- authn_default_module (internal)
- authz_host_module (internal)
- authz_groupfile_module (internal)
- authz_user_module (internal)
- authz_default_module (internal)
- auth_basic_module (internal)
- include_module (internal)
- filter_module (internal)
- log_config_module (internal)
- env_module (internal)
- setenvif_module (internal)
- mpm_prefork_module (internal)
- http_module (internal)
- mime_module (internal)
- status_module (internal)
- autoindex_module (internal)
- asis_module (internal)
- info_module (internal)
- cgi_module (internal)
- negotiation_module (internal)
- dir_module (internal)
- imagemap_module (internal)
- actions_module (internal)
- userdir_module (internal)
- alias_module (internal)
- so_module (internal - only for linking external modules statically)
- php5_module (linked using so module)
Additional modules (not required for the bounty):
- headers_module (internal)
- rewrite_module (internal)
- ssl_module (internal)
2. These tools are included:
- ab
- apachectl (Unix shell script)
- checkgid
- dbmmanage (Perl script)
- htcacheclean
- htdbm
- htdigest
- htpasswd
- httxt2dbm
- logresolve
- rotatelogs
The Unix man files are located in "Cygnix:CygnixPPC/share/man/man1" and
"Cygnix:CygnixPPC/share/man/man8" and can be viewed with "Next"
(available on Aminet) and xman, if you've installed the AmiCygnix Base
package.
The Apache HTTP server is a project of the Apache Software Foundation and
is licensed under the Apache License, Version 2.0. See "LICENSE" in
"Cygnix:Software/httpd-2.2.11".
* MySQL 5.1.35 (http://www.mysql.com)
MySQL is a relational database management system (RDBMS) which has more than
6 million installations. MySQL stands for "My Structured Query Language".
The program runs as a server providing multi-user access to a number of
databases.
1. Supported storage engines:
- "EXAMPLE": Example storage engine
- "InnoDB": Supports transactions, row-level locking, and foreign
keys
- "MyISAM": Default engine as of MySQL 3.23 with great performance
- "BLACKHOLE": /dev/null storage engine (anything you write to it
disappears)
- "CSV": CSV storage engine
- "MEMORY": Hash based, stored in memory, useful for temporary tables
- "MRG_MYISAM": Collection of identical MyISAM tables
- "ARCHIVE": Archive storage engine
- "FEDERATED": Federated MySQL storage engine
2. Included tools:
- mysql
- mysql_client_test
- mysql_convert_table_format (Perl script)
- mysql_find_rows (Perl script)
- mysql_fix_extensions (Perl script)
- mysql_fix_privilege_tables (Unix shell script)
- mysql_install_db (Unix shell script)
- mysql_secure_installation (Unix shell script)
- mysql_setpermission (Perl script)
- mysql_tzinfo_to_sql
- mysql_upgrade
- mysql_waitpid
- mysql_zap (Perl script)
- mysqlaccess (Perl script)
- mysqladmin
- mysqlbinlog
- mysqlbug (Unix shell script)
- mysqlcheck
- mysqld_multi (Perl script)
- mysqld_safe (Unix shell script)
- mysqldump
- mysqldumpslow (Perl script)
- mysqlhotcopy (Perl script)
- mysqlimport
- mysqlshow
- mysqlslap
- mysqltest
- myisam_ftdump
- myisamchk
- myisamlog
- myisampack
- my_print_defaults
- msql2mysql
- innockecksum
- perror
- replace
- resolve_stack_dump
- resolveip
The Unix man files are located in "Cygnix:CygnixPPC/share/man/man1" and
"Cygnix:CygnixPPC/share/man/man8" and can be viewed with "Next"
(available on Aminet) and xman, if you've installed the AmiCygnix Base
package.
MySQL is a project of the MySQL team at Sun Microsystems, Inc.
It is dual-licensed, see "COPYING" and "EXCEPTIONS-CLIENT" in
"Cygnix/Software/mysql-5.1.35".
* PHP 5.2.10 (http://php.net)
PHP is a scripting language. A commandline interpreter called "php" is
included. It is also compiled into the Apache HTTP server binary as an
Apache module.
These extensions are included:
- bcmath
- bz2
- calendar
- ctype
- curl
- date
- dbase
- dom
- exif
- filter
- ftp
- gd
- gettext
- hash
- iconv
- json
- libxml
- mbstring
- mcrypt
- mhash
- mysql
- mysqli
- pcre
- pdf
- PDO
- pdo_mysql
- pdo_sqlite
- posix
- ps
- Reflection
- session
- SimpleXML
- soap
- SPL
- SQLite
- standard
- tidy
- tokenizer
- xml
- xmlreader
- xmlwriter
- xsl
- zip
- zlib
Additional extensions (not required for the bounty):
- openssl
- sysvmsg
- sysvsem
- sysvshm
The Unix man file is located in "Cygnix:CygnixPPC/share/man/man1" and can
be viewed with "Next" (available on Aminet) and xman, if you've installed
the AmiCygnix Base package.
PHP is a project of the PHP group and is licensed under the "PHP License,
version 3.01". See "LICENSE" in "Cygnix:Software/php-5.2".
* myApacheStarter 2.00
A tool with Reaction GUI to manage some important settings of the Apache
HTTP server and to launch and stop the server.
Hint: This version of myApacheStarter can handle this Apache implementation
and also the old version 1.3.33 available on OS4-depot.
Written by Michael Christoph (http://www.meicky-soft.de).
* mySQLcontrol 1.00
A tool to manage MySQL databases (similar to phpMyAdmin) and to launch and
stop the MySQL server.
Written by Michael Christoph (http://www.meicky-soft.de).
How to launch and stop
----------------------
There are several ways to launch and stop the above servers:
* While installation you will be asked, if the servers should be launched at
the system startup. So there is no need to launch them manually.
Before you switch of your Amiga, you should stop the servers by launching
the script "Stop_AAMP.bat" in "Cygnix:Software/AAMP-1.1".
* You can start the script "Start_AAMP.bat" in "Cygnix:Software/AAMP-1.1".
Like above, you should stop the servers by launching the script
"Stop_AAMP.bat".
* You can start and stop the servers with the tools "myApacheStarter" and
"mySQLcontrol".
* If the AmiCygnix desktop is running, you can choose "Apache 2 HTTP server"
in the submenu "network" of the panel menu to launch and stop Apache.
To start and stop the MySQL server, choose "MySQL database server" in the
same location.
Documenation
------------
If you want to know more about Apache, type "http://localhost/manual" into
the address line of your webbrowser. The Apache HTTP server must be active.
I suggest to use the OWB webbrowser.
There is only a few documentation about MySQL included in this package. In
"Cygnix:CygnixPPC/share/info" you can find the Unix info file "mysql.info",
which can be viewed with the tool "Next" available on the Aminet.
I suggest to install the MySQL manager "phpMyAdmin-3.2.1" (or later), which
has a nice online help.
For informations about PHP, open the webpage "http://www.php.net/manual" in
your browser.
Important files and directories
-------------------------------
* The default location of the Apache documents is:
"Cygnix:Software/httpd-2.2.11/htdocs".
Can be changed with "myApacheStarter".
* The configuration files of the Apache HTTP server are located in:
"Cygnix:Software/httpd-2.2.11/conf".
* The default location of the MySQL databases is:
"Cygnix:CygnixPPC/var/mysql-data".
* The MySQL configuration file "my.cnf" is located in:
"Cygnix:CygnixPPC/etc".
* The PHP configuration file "php.ini" is located in:
"Cygnix:CygnixPPC/lib".
FAQ
---
* How can I enable InnoDB tables?
Open the file "Cygnix:CygnixPPC/etc/my.cnf" with NotePad and comment out
the line "skip-innodb" and relauch the MySQL server. Comments do start with
a "#".
* How can I change the language of the MySQL messages?
First have a look at the directory "Cygnix:CygnixPPC/share/mysql" to see
the supported languages. Then open the file "Cygnix:CygnixPPC/etc/my.cnf"
with NotePad and set the option "language" to your needs.
Problems
--------
Serious problems:
None known.
Minor problems:
* The web server does not support subprocesses. As this package is not meant
for productive use, this is not really a problem. Development and using
local web applications is no problem.
* The MySQL server cannot be stopped, when InnoDB tables are enabled.
This is only a problem for users, who want to use the special functionality
of this kind of tables: Transactions, row-level locking and foreign keys.
Basically InnoDB tables are working, but because you cannot make a clear
shutdown, all InnoDB tables are checked on server startup.
I had no further problem with InnoDB so far, but you use it on your own
risk! I recommend to use MyISAM tables.
Bug reports
-----------
Please send bug reports to "eds()rz-online.de" or post them to the bug tracker
on OS4-depot.
Installation
------------
1. Doubleclick on the "Install" icon in the unpacked AmiCygnix package.
Everything will be installed automatically. Please follow the
instructions of the installer script.
Please do not install by hand!!
If you have not installed the AmiCygnix Base package, you can install
a small basic AmiCygnix package called "AmiCygnix Micro", which only
needs about 11 MB on you harddisk.
It is included in this package and will be installed by the installer
script if necessary!
2. Create the necessary network user and groups:
Before you start AAMP for the first time, please add this to your network
configuration:
To "Sys:Devs/Internet/users":
NAME=daemon UID=1002 GID=46 DIR=/Cygnix/Home/root SHELL=noshell
NAME=mysql UID=1003 GID=47 DIR=/Cygnix/Home/root SHELL=noshell
And to "Sys:Devs/Internet/groups":
NAME=daemon ID=46 USERS=daemon
NAME=mysql ID=47 USERS=mysql
The IDs must be adapted to your settings. They must be unique!
Donations
---------
If you like to support my work, you can make a donation by using paypal:
http://www.schwan-clan.de/amiga/Donate.html
Thanks!
Thanks to...
------------
... all, who donated to the AAMP bounty!
... Michael Christoph, who wrote the nice GUI tools!
... Mario Locati for beta testing!
| |