leopard thuis server met apache + veel
Ik zit hier achter een prachtige iMac met Mac os X 10.5 Leopard, en daar wil ik voor mezelf een leuke ontwikkel server van maken die wel zo goed dicht zit dat ik hem zo af en toe eens veilig open kan zetten om anderen iets te tonen of om op afstand te werken.
Ik heb nu via MacPorts Apache 2, PHP 5, MySQL 5 en SQLite 3.(ik heb er al http://www.cirt.net/nikto2 op getest)
Verder heb ik los nog Tomcat en die WEBrick zooi van rails.
Wat ik dus nu eigenlijk wil is dat ik RoR, Python en JSP een beetje onder apache kan schuiven, en daar kan ik wel wat hulp bij gebruiken.
Als dat allemaal gelukt is lijkt het me ook nog leuk om FTP of WebDAV te hebben en misschien PostgreSQL.
Ik heb zelf al geprobeerd om RoR en JSP op Apache te krijgen, maar ik krijg allemaal dingen met Mongrel en heeeeele lange config files waar ik niks van snap.
Voor Python heb ik mod_python geïnstalleerd, maar de test pagina geeft een 500 error en in de error logs zie ik dit:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
[Sun Jan 25 13:05:47 2009] [error] python_init: Python version mismatch, expected '2.5.4', found '2.5.1'.
[Sun Jan 25 13:05:47 2009] [error] python_init: Python executable found '/usr/bin/python'.
[Sun Jan 25 13:05:47 2009] [error] python_init: Python path being used '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/../../Extras/lib/python:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload'.
[Sun Jan 25 13:05:47 2009] [notice] mod_python: Creating 8 session mutexes based on 256 max processes and 0 max threads.
[Sun Jan 25 13:05:47 2009] [notice] mod_python: using mutex_directory /tmp
[Sun Jan 25 13:05:48 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Jan 25 13:05:48 2009] [notice] Digest: done
[Sun Jan 25 13:05:49 2009] [notice] Apache/2.2.11 (Unix) DAV/2 PHP/5.2.8 mod_python/3.3.1 Python/2.5.1 configured -- resuming normal operations
[Sun Jan 25 13:05:47 2009] [error] python_init: Python executable found '/usr/bin/python'.
[Sun Jan 25 13:05:47 2009] [error] python_init: Python path being used '/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python25.zip:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-darwin:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/plat-mac/lib-scriptpackages:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/../../Extras/lib/python:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-tk:/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload'.
[Sun Jan 25 13:05:47 2009] [notice] mod_python: Creating 8 session mutexes based on 256 max processes and 0 max threads.
[Sun Jan 25 13:05:47 2009] [notice] mod_python: using mutex_directory /tmp
[Sun Jan 25 13:05:48 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Jan 25 13:05:48 2009] [notice] Digest: done
[Sun Jan 25 13:05:49 2009] [notice] Apache/2.2.11 (Unix) DAV/2 PHP/5.2.8 mod_python/3.3.1 Python/2.5.1 configured -- resuming normal operations
en dit was het stukje test code dat ik vond:
Voor je zelf gewoon localhost gebruiken en geen poorten open zetten, das het veiligste wat kan. (al zie ik niet wat er niet veilig is als je gewoon standaard installatie van alles doet en netjes de beveiliging aanpast zoals het hoort) En als je wat wilt laten zien gooi je de poorten open.
Maar het kan dus geen kwaad om zo af en toe de poorten een paar dagen open te zetten?
Waar ik vooral hulp bij nodig heb is het instellen van Ruby, Java en Python.
Ruby en Java hebben nu hun eigen servertje, en Python kom ik helemaal niet uit.
Ik heb uitgevonden dat er een mod_ruby is, maar die ondersteunt geen rails.
Over Java nog geen nieuws...
Hoe zou ik met htaccess of httpd.conf er voor kunnen zorgen dat voor alle request die niet van het locale netwerk komen een wachtwoord nodig is?
Ik weet dat zelfs Digest beveiliging niet helemaal veilig is, maar het is toch een fijn gevoel dat niet iedereen zomaar rond snuffelt op je server.
Edit:
maar het volgende probleem is alweer in zicht, ik las dat je het best zo min mogelijk modules kan hebben, welke kunnen er allemaal weg?
voor de rest heb ik geen idee...
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Order deny,allow
Deny from all
AuthUserFile "/pad/naar/password.file"
AuthName "blaat"
AuthType Digest
AuthDigestProvider file
require valid-user
Allow from 127.0.0.1 192.168
Satisfy Any
Deny from all
AuthUserFile "/pad/naar/password.file"
AuthName "blaat"
AuthType Digest
AuthDigestProvider file
require valid-user
Allow from 127.0.0.1 192.168
Satisfy Any
maar het volgende probleem is alweer in zicht, ik las dat je het best zo min mogelijk modules kan hebben, welke kunnen er allemaal weg?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule version_module modules/mod_version.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module modules/libphp5.so
LoadModule python_module modules/mod_python.so
LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_anon_module modules/mod_authn_anon.so
LoadModule authn_dbd_module modules/mod_authn_dbd.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule dbd_module modules/mod_dbd.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule include_module modules/mod_include.so
LoadModule filter_module modules/mod_filter.so
LoadModule substitute_module modules/mod_substitute.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule ident_module modules/mod_ident.so
#LoadModule usertrack_module modules/mod_usertrack.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule version_module modules/mod_version.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule ssl_module modules/mod_ssl.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
#LoadModule status_module modules/mod_status.so
#LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
#LoadModule info_module modules/mod_info.so
#LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule php5_module modules/libphp5.so
LoadModule python_module modules/mod_python.so
voor de rest heb ik geen idee...
Gewijzigd op 01/01/1970 01:00:00 door pepijn de vos
ik heb mijn bovenstaande post aangepast met wat ik nu aan heb staan... maar ik ben bang dat dingen het nu niet meer doen of dat ik nog steeds te veel heb.
en is het een goed idee om mod_security te installeren?
LoadModule php5_module /usr/lib/apache/modules/libphp5.so
Edit:
http://www.onlamp.com/pub/a/apache/2003/11/26/mod_security.html
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Het is iets meer werk die te configureren, maar je hebt dan geen 2 servers op je MAC draaien.
Verder: Een mod meer of minder aan maakt over het algemeen niet uit hoor.
en... ik had eigenlijk gehoopt dat mod_security gewoon een .so was die een ingebouwde ruleset heeft... dit moet je allemaal compilen eb configureren, dat vind ik de moeite niet waard voor een lokale server.
newbie, de ingebouwde webserver is apache 1.3, en die wil ik nie.
en dan heb je idd meer configuratie werk, zeker php en mysql aan de praat krijgen is dan lastig... ik heb het op mijn vorige computer gedaan hoor, maar nu heb ik gewoon met macports alles geïnstalleerd.
ach, dan laat ik die mods lekker zo...
java, rails, anyone? hmmm eigenlijk ook het verkeerde forum he...