This package offers a development environment on your Amiga, with which you
can create and test your own web projects. Similar to the well-known XAMPP
package for Linux and Windows, it contains the HTTP (web) server "Apache"
with compiled-in support for the scripting language "PHP" (version 8.0.28 and
5.2.10) and the database server "MySQL" version 5.5.10. The PHP development
server (PHP 8 only) and the Subversion server "svnserve" are also included.
AAMP is not only interesting for developers. This means that web applications
can also be run locally on the Amiga. These are e.g. the database administra-
tor "phpMyAdmin" (https://www.phpmyadmin.net/) or the image manager
"Coppermine" (https://coppermine-gallery.net/) - just to name a few.
You can create your own tools with the included "php" interpreter. "PHP" is
easy to learn and with its extensions a powerful language.
Last but not least, data can be managed with the "MySQL" database server,
which can then also be accessed via the network. External programs
(e.g. IODBC) can use this server as a database backend.
Contents
--------
1. New in AAMP 2.1
2. New in AAMP 2.0
3. Packages Included
* Apache 2.2.34 (https://httpd.apache.org/)
* MySQL 5.5.10 (https://www.mysql.com/)
* PHP 8.0.28 + 5.2.10 (https://www.php.net/)
* Subversion 1.6.23 (https://subversion.apache.org/)
* Additional tools
* myApacheStarter 3.11
* mySQLcontrol 2.12
4. Starting and stopping the servers
5. Documentation
6. Important files and directories
7. Use 'php' as web server
8. Tested web applications
9. User and group definitions for Apache and MySQL
10. Problems
11. Bug reports
12. Installation
13. Donations
14. Thanks to...
1. New in AAMP 2.1
------------------
* The "AAMP-Control" tool is now available for the central administration of
all servers and settings. In addition to Apache and MySQL, it can also be
used to manage the PHP development server and the Subversion server
"svnserve". The scripts "Start_AAMP.bat" and "Stop_AAMP.bat" are now
obsolete and no longer included.
All other start and stop scripts are still included, but the use of
"AAMP-Control" is recommended.
* Update of the Apache web server from version 2.2.11 to version 2.2.34.
* The configuration of the Apache SSL module is now complete and working. So
that clients can work with it without problems, there is a selection of
CA root certificate collections in the Contrib folder, which also contain
the server's certificate. Simply replace the required file of the client or
browser.
* The package now also includes a complete package of "phpMyAdmin" in version
5.0.4. This has been patched for better compatibility with PHP 8 and is
already preconfigured. The package will be installed automatically during
the installation of AAMP.
* Optimized autostart at system start or when starting "AAMP-Control".
* Update of the CA root certificates (Mozilla certificates as of 20.11.2023).
* The default WebDAV directory is now "AAMP:Apache/uploads" and no longer
"AAMP:Apache/htdocs/dav".
* The Subversion package has been recompiled using the new Apache 2.2.34
libraries.
* Various bug fixes. For existing errors please read the section "Problems"!
2. New in AAMP 2.0
------------------
* New version 8.0.28 of PHP. Together with the new MySQL server, the latest
web applications can be used again.
The old version 5.2.10 is still included to keep older projects running.
You can switch between the two versions at any time using a script.
* Updated MySQL database server from version 5.1.35 to version 5.5.10.
* Updates of the tools "myApacheStarter" and "mySQLcontrol" - now also with
Italian and Spanish localization.
* The Subversion package including Apache's WebDAV modules is now included
and enabled by default.
* Updates of the used libraries:
- curl 7.19.7 -> curl 7.61.1
- libgcrypt 1.2.4 -> libgcrypt 1.8.2
- libgpg-error 1.4 -> libgpg-error 1.27
- libiconv 1.9.2 -> libiconv 1.17
- libpng 1.2.13 -> libpng 1.2.49
- libxml2 2.6.19 -> libxml2 2.9.14
- libxslt 1.1.14 -> libxslt 1.1.34
- openssl 1.0.0d -> openssl 1.0.2o
- PDFlib-Lite 6.0.1 -> PDFlib-Lite 7.0.5p3 (only PHP 5)
- tiff v3.4 -> tiff 3.8.2
- neon 0.29.0 -> neon 0.31.1
- sqlite 3.4.2 -> sqlite 3.9.3
- subversion 1.6.17 -> subversion 1.6.23
* Newly added libraries and tools:
- cadaver 0.23.3 (WebDAV client)
- coreutils 5.2.1 (utilities for the Unix shell)
- gmp 6.2.0 (library for arbitrary precision arithmetic)
- gnutls 3.7.3 (modern implementation of the TLS/SSL protocol)
- libtasn1 4.9 (an ASN.1 encryption library)
- libwebp 0.5.2 (library to encode and decode images in WebP format)
- nettle 3.7 (a cryptographic library)
- openldap 2.4.49 (implements LDAP directory services)
* Now includes a customized version of the ABC shell called "ampsh". This
avoids collisions with other packages that use the ABC shell, such as the
AmigaOS4 SDK or AmiCygnix.
With a script in the AAMP main directory you can start it on the workbench
and access the AAMP tools directly.
* This package is a complete rebuild of AAMP. This and extensive trouble-
shooting eliminated many problems that were still in AAMP 1.0.
* The base library "libaos4util" has been completely revised.
3. Packages Included
--------------------
This package contains several software packages and programs:
* Apache 2.2.34 (https://httpd.apache.org/)
1. The "Apache HTTP Server Project" aims to develop and maintain an open-
source HTTP server for modern operating systems such as Linux and
Windows. This includes the implementation of a secure, efficient and
extensible server that supports the HTTP protocol according to the
current HTTP standards.
Apache has become the most popular web server on the Internet since
April 1996.
These modules are compiled into Apache:
- actions_module (internal)
- alias_module (internal)
- asis_module (internal)
- auth_basic_module (internal)
- authn_default_module (internal)
- authn_file_module (internal)
- authz_default_module (internal)
- authz_groupfile_module (internal)
- authz_host_module (internal)
- authz_user_module (internal)
- autoindex_module (internal)
- cgi_module (internal)
- core_module (internal)
- dav_fs_module (internal)
- dav_lock_module (internal)
- dav_module (internal)
- dir_module (internal)
- env_module (internal)
- filter_module (internal)
- headers_module (internal)
- http_module (internal)
- imagemap_module (internal)
- include_module (internal)
- info_module (internal)
- log_config_module (internal)
- mime_module (internal)
- mpm_prefork_module (internal)
- negotiation_module (internal)
- rewrite_module (internal)
- setenvif_module (internal)
- so_module (internal - only for linking external modules statically)
- ssl_module (internal)
- status_module (internal)
- userdir_module (internal)
- php_module (external - loaded like a shared object)
- dav_svn_module (external - loaded like a shared object)
- authz_svn_module (external - loaded like a shared object)
2. These tools from Apache package are included:
- ab - Apache HTTP server benchmarking tool
- apachectl Apache HTTP Server Control Interface (Unix shell script)
- checkgid Checks for the presence of a group
- dbmmanage Manage user authentication files in DBM format
(Perl script)
- htcacheclean Clean up the disk cache
- htdbm Manipulate DBM password databases
- htdigest Manage user files for digest authentication
- htpasswd Manage user files for basic authentication
- httxt2dbm Generate dbm files for use with RewriteMap
- logresolve Resolve IP-addresses to hostnames in Apache log files
- rotatelogs Piped logging program to rotate Apache logs
The Unix man files can be found in "AAMP:Apache/man" and can be viewed
with the "Next" indicator (available on Aminet).
The "AAMP-Control" tool is recommended for starting and configuring Apache.
The previous tool "myApacheStarter" is also integrated there.
The documentation for "myApacheStarter" can be found in "AAMP:Docs". Many
thanks to Michael Christopher!
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
"AAMP:Apache".
Important NOTE:
---------------
Although Apache has a compiled SSL module and corresponding scripts are
contained in "AAMP:Apache", the configuration for this is unfortunately
not complete. This means that "https://" cannot be used at the moment.
* MySQL 5.5.10 (https://www.mysql.com/)
MySQL is a relational database system with more than 6 million installa-
tions. MySQL stands for "My Structured Query Language". The program runs as
a server that offers multi-user access to a large number of databases.
1. Supported storage engines:
- "MyISAM": Standard engine available since MySQL 3.23 with
excellent performance.
- "MRG_MYISAM": For collections of identical MyISAM tables.
- "CSV": Storage engine in CSV file format.
- "MEMORIES": Hash based stores in memory, useful for temporary
tables.
- "PERFORMANCE_SCHEMA": Provides a way to check the internal execution of
the server at runtime.
- "InnoDB": Supports transactions, row-level locking and
foreign keys.
Is disabled by default. Unfortunately, the
function is not stable. For this reason, the
InnoDB engine should not be used.
2. Included tools:
- mysql The MySQL command-line tool
- mysql_client_test Test client API
- mysql_convert_table_format Convert tables to use a given storage
engine (perl script)
- mysql_find_rows Extract SQL statements from files (perl
script)
- mysql_fix_extensions Normalize table file name (perl script)
- mysql_install_db Initialize MySQL data directory (Unix
shell script)
- mysql_secure_installation Improve MySQL installation security
(Unix shell script)
- mysql_setpermission Interactively set permissions in grant
tables (perl script)
- mysql_tzinfo_to_sql Load the time zone tables
- mysql_upgrade Check tables for MySQL upgrade
- mysqlaccess Client for checking access privileges
(perl script)
- mysqladmin Client for administering a MySQL server
- mysqlbinlog Utility for processing binary log files
- mysqlcheck A table maintenance program
- mysqld_multi Manage multiple MySQL servers (perl script)
- mysqld_safe MySQL server startup script (Unix shell
script)
- mysqldump A database backup program
- mysqldumpslow Summarize slow query log files (perl
script)
- mysqlhotcopy A database backup program (perl script)
- mysqlimport A data import program
- mysqlshow Display database, table, and column
information
- mysqlslap Load emulation client
- mysqltest Program to run test cases
- myisam_ftdump Display full-text index information
- myisamchk MyISAM table-maintenance utility
- myisamlog Display MyISAM log file contents
- myisampack Generate compressed, read-only MyISAM
tables
- my_print_defaults Display options from option files
- msql2mysql Convert mSQL programs for use with MySQL
- perror Explain error codes
- replace A string-replacement utility
- resolveip Resolve host name to IP address or vice
versa
The Unix man files can be found in "AAMP:MySQL/man" and can be viewed
with the "Next" indicator (available on Aminet).
The "AAMP-Control" tool is recommended for starting and configuring the
MySQL server. The previous tool "mySQLcontrol" is also integrated there and
also offers the option of managing databases and tables.
The documentation for "mySQLcontrol" can be found in "AAMP:Docs". Many
thanks to Michael Christopher!
MySQL is a project of Oracle Corporation.
* PHP 8.0.28 + 5.2.10 (https://www.php.net/)
PHP is a scripting language that can be used to create dynamic websites. A
command line interpreter called "php" is included that allows these scripts
to be run directly. In addition, an interpreter is compiled into the HTTP
server Apache as an Apache module.
New in PHP 8 is that the "php" tool can also be started as a simple web
server. This can therefore be used as an alternative to Apache. See chapter
"6. Using 'php' as a web server".
In order to be able to use older projects as well, the old version
PHP 5.2.10 is included in addition to PHP 8.0.28. With the script
"PHP-Switch.bat" in "AAMP:PHP" you can switch back and forth between the
versions at any time.
These extensions are included in PHP 8.0.28:
- bcmath
- bz2
- calendar
- Core
- ctype
- curl
- date
- dom
- exif
- fileinfo (not in PHP 5.2.10)
- filter
- ftp
- gd
- gettext
- gmp
- hash
- iconv
- json
- ldap
- libxml
- mbstring
- mysqli
- openssl
- pcre
- PDO
- pdo_mysql
- pdo_sqlite
- Phar (not in PHP 5.2.10)
- posix
- Reflection
- session
- SimpleXML
- soap
- SPL
- sqlite3 (not in PHP 5.2.10)
- standard
- sysvmsg
- sysvsem
- sysvshm
- tidy
- tokenizer
- xml
- xmlreader
- xmlwriter
- xsl
- zip
- zlib
These extensions are also included in PHP 5.2.10:
- dbase
- mcrypt
- mhash
- mysql
- pdf
- ps
- SQLite
The Unix man files can be found in "AAMP:PHP/man" and can be viewed using
the "Next" indicator (available on Aminet).
PHP is a project of the "PHP Group" and is licensed under the "PHP License,
Version 3.01". See "LICENSE" in "AAMP:PHP".
* Subversion 1.6.23
See external documentation "AAMP:Subversion/README.amiga".
* Additional tools:
- cadaver 0.23.3
A WebDAV client for the command line.
- coreutils 5.2.1
The Unix coreutils required by the Unix scripts.
- ampsh 53.3
A special version of the ABC shell tailored for AAMP.
From the libraries used:
- curl A tool to transfer data from or to a server (from curl-7.61.1)
- iconv A program that converts text from one encoding to another
encoding (from libiconv-1.17)
- sqlite3 A command line interface for SQLite version 3 (from sqlite-3.9.3)
- sqlite A command line interface for SQLite version 2 (from
sqlite-2.8.16)
- tidy Tool to cleanup HTML code (from tidy 26.10.2005)
- from openssl-1.0.2o:
- openssl OpenSSL command line tool
- c_rehash Scan all files in a directory and add symbolic links to their
hash values
- from gnutls 3.7.3:
- certtool Tool to parse and generate X.509 certificates,
requests and private keys.
- gnutls-cli Simple client program to set up a TLS connection to
some other computer
- gnutls-cli-debug TLS debug client
- gnutls-serv Server program that listens to incoming TLS
connections.
Misc:
- localetool Language tool for DOS scripts, author: E. Schwan
- sh From abc-shell 53.3, author: Henning Nielsen Lund
- shutdown_http To end an Apache server process, author: E. Schwan
- shutdown_mysql To end a MySQL server process, author: E. Schwan
- shutdown_php To end a PHP server process, author: E. Schwan
- shutdown_svnserve To end a Subversion server process, author: E. Schwan
- xlaunch utility For starting programs, author: E. Schwan
- amiga2unixpath Utility for converting Amiga file paths into Unix
format, author: E. Schwan
- unix2amigapath Utility for converting unix file paths into Amiga
format, author: E. Schwan
* myApacheStarter 3.11
A tool with a reaction interface to change important Apache HTTP Server
settings. The server can also be started and stopped with this.
Tip: This version of myApacheStarter is able to handle this version and
the version 1.3.33 available on OS4-Depot.
Written by Michael Christoph (http://www.meicky-soft.de).
* mySQLcontrol 2.12
A tool with a reaction interface for editing MySQL databases similar to
phpMyAdmin. The MySQL server can also be started and stopped with this.
Written by Michael Christoph (http://www.meicky-soft.de).
4. Starting and stopping the servers
------------------------------------
There are several ways to start and stop the above servers:
* During installation, you will be asked whether the servers should be
started automatically at system startup. This means that a manual start is
not necessary. Before switching off the computer, the servers should be
stopped using the "AAMP-Control" tool.
* All servers can be started manually with the "AAMP-Control" tool. As
described above, the servers should be stopped with "AAMP-Control" before
the computer is switched off.
* The servers can be started and stopped with the tools "myApacheStarter" and
"mySQLcontrol".
5. Documentation
----------------
If you want to learn more about Apache, type
"http://localhost/manual"
in the address line of a browser. The Apache HTTP Server must be active.
Little information is included in the package about MySQL. However, the
"AAMP:MySQL" directory contains the Unix info file "mysql.info", which can be
viewed with the "Next" viewer (available on Aminet).
My suggestion: The MySQL manager "phpMyAdmin-5.0.4" is now included in the
package and can be installed automatically when installing AAMP. Version 5.0.4
is the last version that still works well together with Odyssey 1.23.
See also the chapter "8. Tested web applications".
For the latest information on PHP, visit the page on
"https://www.php.net/manual/en/index.php"
in a browser.
6. Important files and directories
----------------------------------
Many of the paths and settings can be changed using the "AAMP Control" tool.
* The default directory for custom web projects is:
"AAMP:Apache/htdocs".
Can be modified with "myApacheStarter".
* The configuration files for the Apache HTTP Server are located in the
Directory:
"AAMP:Apache/conf".
* The default directory for MySQL databases is:
"AAMP:MySQL/Databases".
* The MySQL configuration file "my.cnf" is located in:
"AAMP:Common/etc".
If you want to make your own changes to it, it is best to copy the file with
the name ".my.cnf" to "AAMP:Common/Home/root" and edit it there. Then it
will not be overwritten when AAMP is updated. The tool "AAMP-Control" takes
care of this.
* The PHP configuration files are located in "AAMP:Common/lib":
- for PHP 8.0.28
- "php/php-apache2handler.ini" - if PHP is used by Apache
- "php/php-cli.ini" - if the command line tool 'php' is used
- "php/php-cli-server.ini" - if 'php' is started as a web server
- for PHP 5.2.10
- "php5/php-apache2handler.ini" - if PHP Apache is used
- "php5/php-cli.ini" - if the command line tool 'php' is used
7. Use 'php' as web server
--------------------------
The PHP8 version of the command line tool 'php' can also be used as a simple
web server. The server can be started with the "AAMP-Control" tool and is a
good alternative to Apache for the development of web pages.
Then you can, for example, call up the PHP info page with the following
address in the browser:
http://localhost/test/phpinfo.php
Important note:
---------------
If the URL entered in the browser points to a directory and not to a file
(e.g. "index.php"), then there must be a slash ("/") at the end of the URL. A
file such as "index.html" or "index.php" will be found without a slash, but
not relative links in this file, as they are calculated incorrectly!
8. Tested web applications
--------------------------
Application home page status
* 4images 1.10 https://www.4homepages.de/ working
* coppermine 1.6.25 https://coppermine-gallery.net/ working
* phpBB 3.3.10 https://www.phpbb.com/ working
* phpMyAdmin 5.0.4 https://www.phpmyadmin.net/ working
* phpMyAdmin 5.2.1 working (*)
* Joomla 3.10.12 https://www.joomla.de/ working
* wordpress 6.2.2 https://wordpress.com/de/ working (*)
* XoopsCore25 2.5.10 https://xoops.org/ not compatible with
PHP 8 or PHP 5
(*) = does not work properly with Odyssey 1.23 r5
Unfortunately, phpMyAdmin 5.0.4 has some incompatibilities with PHP 8. A patch
in "AAMP:Contrib/Patches" fixes most errors. Simply copy the contents of the
"phpMyAdmin-5.0.4" directory into the root directory of phpMyAdmin.
9. User and group definitions for Apache and MySQL
--------------------------------------------------
In order for Apache and MySQL to work, the users "daemon" and "mysql" and the
groups "daemon" and "mysql" must be created in the system Internet database.
This is usually done automatically when AAMP is installed. However, it has
been reported that this sometimes does not work. If this has not worked,
please add the following lines to the corresponding files:
* In "Devs:Internet/users":
NAME=daemon UID=1000 GID=1000 DIR=/AAMP/Common/Home/root SHELL=noshell
NAME=mysql UID=1001 GID=1001 DIR=/AAMP/Common/Home/root SHELL=noshell
* In "Devs:Internet/groups":
NAME=daemon ID=1000 USERS=daemon
NAME=mysql ID=1001 USERS=mysql
10. Problems
------------
Serious problems:
* Problems with Apache and phpMyAdmin:
- It has been found that exporting databases or tables using Apache and
phpMyAdmin can be faulty. It is therefore not recommended to back up data
in this way. The problem could not yet be found, but is due to the imple-
mentation of Apache. No problems have been detected so far when working
with databases and tables.
For the time being, I recommend using either the PHP development server or
the command line tool "mysqldump" for data backups.
* Problems with Amiga browsers and Apache:
- The Amiga implementation of the browser "NetSurf" (tested with version
3.10) usually cannot load pages if no SSL is used ("http:"). The AmiCygnix
version of "NetSurf" works.
Older browsers like "AWeb" or "IBrowse" work.
Other problems:
* The Apache server does not support subprocesses. Since this package is not
intended to actually host websites, this is not really a problem.
* The MySQL server cannot be stopped if InnoDB table support is enabled.
At the moment I have to advise against activating InnoDB tables!
11. Bug reports
---------------
Please send bug reports to the address "eds@edgarschwan.de" or post any bugs
in the bug tracker of the OS4 depot (http://os4depot.net/).
12. Installation
----------------
Simply double-click the "Install" icon. Everything is automatically installed
on the hard disk. Please follow the instructions of the installer script.
Additional packages that are necessary for the operation of AAMP are also
installed during the installation. This is the package:
* SystemV_IPC (sysvipc.library) by Peter Bengtsson
The package is located in the "AAMP:Contrib" folder, but is automatically
installed during installation.
Please do not install AAMP by hand!
13. Donations
-------------
If you want to support my work, you can transfer a donation to my PayPal
account:
https://www.schwan-clan.de/amiga/Donate.html
Thanks very much!
14. Thanks to...
----------------
... all, who donated to the AAMP bounty! Especially I want to mention
Philippe Ferrucci, but I also want to thank:
- Mario Locati
- Marko Seppänen
- Olivier Claes
- Jamie Sayer
- Mathias Parnaudeau
- Troels Ersking
- Martin Rebentisch
- Andreas Schmidt
- Simon Sharratt
... Michael Christoph, who wrote the administration tools!
... Samir Hawamdeh (beta test and translations into Italian)
... Daniel Reimann (beta-test)
... Mario Locati (beta-test)
... Hans de Ruiter (help with SSL module)
... Henning Nielsen Lund (author of abc-Shell)
... Peter Bengtsson (author of sysvipc.library)
... Chris Young (author of http-handler)
|