[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [2832] Added new texinfo nodes.
From: |
Giuseppe Scrivano |
Subject: |
[myserver-commit] [2832] Added new texinfo nodes. |
Date: |
Sun, 21 Sep 2008 19:52:05 +0000 |
Revision: 2832
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=2832
Author: gscrivano
Date: 2008-09-21 19:52:04 +0000 (Sun, 21 Sep 2008)
Log Message:
-----------
Added new texinfo nodes.
Modified Paths:
--------------
trunk/myserver/documentation/Makefile.am
trunk/myserver/documentation/myserver.texi
trunk/myserver/documentation/virtual_hosts.texi
Added Paths:
-----------
trunk/myserver/documentation/mime_types.texi
trunk/myserver/documentation/process_security.texi
trunk/myserver/documentation/ssl_certificates.texi
Modified: trunk/myserver/documentation/Makefile.am
===================================================================
--- trunk/myserver/documentation/Makefile.am 2008-09-21 17:41:38 UTC (rev
2831)
+++ trunk/myserver/documentation/Makefile.am 2008-09-21 19:52:04 UTC (rev
2832)
@@ -1,6 +1,6 @@
info_TEXINFOS=myserver.texi
#any other .texi that is not myserver.texi
-myserver_TEXINFOS=basic_configuration.texi doclicense.texi
general_description.texi gpl.texi virtual_hosts.texi
+myserver_TEXINFOS=basic_configuration.texi doclicense.texi
general_description.texi mime_types.texi gpl.texi process_security.texi
virtual_hosts.texi ssl_certificates.texi
SUBDIRS = english
Added: trunk/myserver/documentation/mime_types.texi
===================================================================
--- trunk/myserver/documentation/mime_types.texi
(rev 0)
+++ trunk/myserver/documentation/mime_types.texi 2008-09-21 19:52:04 UTC
(rev 2832)
@@ -0,0 +1,110 @@
address@hidden -*-texinfo-*-
+You can modify the MIME types used by MyServer by modifying the file
+"MIMEtypes.xml". The following is an example of the .xml file:
+
address@hidden
+<MIMETYPES>
+
+ <MIMETYPE defaultAction="DENY">
+ <EXT>htm</EXT>
+ <MIME>text/html</MIME>
+ <CMD>SEND</CMD>
+ <ACTION name="Host" value="localhost">ALLOW</ACTION>
+ <FILTER>gzip</FILTER>
+ <MANAGER>NONE</MANAGER>
+ </MIMETYPE>
+
+</MIMETYPES>
address@hidden example
+
address@hidden
+Each block describes a different MIME type.
+
address@hidden EXT
+is the type of file
+
address@hidden MIME
+is the Mime type.
+
address@hidden CMD
+is the way to send the file to the client.
address@hidden itemize
+
address@hidden @code{<ACTION name="Host" value="localhost">ALLOW</ACTION>}
+will allow access to the desired MIME Type if the Host is
+"localhost".
+In the line @code{<MIMETYPE defaultAction="DENY">} we declare that
+the MIME type will DENY access from any host we don't set in the
+proper ACTION tag (so, it will have to exist in the
+configuration). Also, the property defaultAction is optional (when
+it's omitted, it's set to "ALLOW"). In the above example, HTML files
+will be accessed only through the hostname "localhost".
+
+The tag @code{<ACTION>} is optional, unless you specify "DENY" for
+your defaultAction in your MIME Type.
+
address@hidden<FILTER>} defines a filter for that MIME type. The data will
+pass through the filter before being sent to the user. In the example
+above, the data would be sent gzipped to the user. It means Gzip works
+as a filter in MyServer. you can define Gzip to automatically run for
+every file based in its size, setting the @code{<GZIP_THRESHOLD>}, in
+myserver.xml file. For obvious reasons, data will be sent gzipped only
+if the client supports gzip - otherwise he'd receive a lot of weird
+characters instead of the site requested.
+
+In general, filters can also be applied to dynamic data - like CGI,
+ISAPI, FastCGI - but they need to be filters that don't modify the
+contents of the page to be shown to the user.
+
address@hidden<MANAGER>} completes the @code{<CMD>} command specifying, if
+necessary for the command, an external application to use.
+For example using the RUNCGI command, it will be necessary to specify
+an external process to execute the CGI command, MANAGER under
+GNU/Linux will be something like this:
+
address@hidden
+<MANAGER>/usr/bin/php-cgi</MANAGER>
+or under Windows:
+<MANAGER>c:\php\php-cgi.exe</MANAGER>
address@hidden example
+
+
+The following values for sending the file to the client are valid in
+the @code{<CMD>} section:
address@hidden
address@hidden SEND
+Send the file statically as is. This command is used for files
+extensions such as .html and .jpg that don't need any external
+intervention from the web server.
address@hidden RUNCGI
+Run the CGI script indicated in the path. It is used for file
+extensions such as .php and .pl that need to be processed before
+sending any data to the client.
address@hidden RUNFASTCGI
+Run the Fastcgi script. This type will need a fastcgi parser
+downloaded (see the PHP page). It is also used for file extensions
+such as .php and .pl.
address@hidden EXECUTEFASTCGI
+This also runs the Fastcgi script, but unlike the RUNFASTCGI above, it
+does not need a server to run the script, instead it acts as a self
+server.
address@hidden RUNSCGI
+Handle a specified mime type with this SCGI server.
address@hidden EXECUTESCGI
+Handle the file as a self SCGI process.
address@hidden RUNMSCGI
+Run the MSCGI script. This library is only available for MyServer. It
+is used to build fast and efficient CGIs that needs to access MyServer
+internal data.
address@hidden EXECUTE
+Treat the file as an executable and send the output to the client.
address@hidden SENDLINK
+Send the file that is contained in a link.
address@hidden EXECUTEWINCGI
+Send the file as a WinCGI
address@hidden RUNISAPI
+Run the ISAPI script.
address@hidden EXECUTEISAPI
+Run the ISAPI script but does not need a server to run. Instead, it
+acts as a self server.
address@hidden enumerate
Modified: trunk/myserver/documentation/myserver.texi
===================================================================
--- trunk/myserver/documentation/myserver.texi 2008-09-21 17:41:38 UTC (rev
2831)
+++ trunk/myserver/documentation/myserver.texi 2008-09-21 19:52:04 UTC (rev
2832)
@@ -1,4 +1,3 @@
address@hidden -*-texinfo-*-
\input texinfo
@setfilename myserver.info
@settitle GNU MyServer documentation
@@ -26,6 +25,9 @@
* General description:: GNU MyServer general description.
* Basic configuration:: Basic server configuration.
* Virtual hosts:: Virtual hosts configuration.
+* MIME types:: MIME types configuration.
+* Process security:: Process security.
+* SSL certificates:: Show how to use SSL certificates.
@end menu
@@ -47,12 +49,28 @@
@cindex Basic configuration
@include basic_configuration.texi
address@hidden Virtual hosts, , Basic configuration, Top
address@hidden Virtual hosts, MIME types, Basic configuration, Top
@chapter Virtual hosts
@cindex Virtual hosts
@include virtual_hosts.texi
address@hidden MIME types, Process security, Virtual hosts, Top
address@hidden MIME types
address@hidden MIME types
address@hidden mime_types.texi
address@hidden Process security, SSL certificates, MIME types, Top
address@hidden Process security
address@hidden Process security
address@hidden process_security.texi
+
address@hidden SSL certificates, , Process security, Top
address@hidden SSL certificates
address@hidden SSL certificates
address@hidden ssl_certificates.texi
+
+
@printindex cp
@contents
@bye
address@hidden -*-texinfo-*-
Added: trunk/myserver/documentation/process_security.texi
===================================================================
--- trunk/myserver/documentation/process_security.texi
(rev 0)
+++ trunk/myserver/documentation/process_security.texi 2008-09-21 19:52:04 UTC
(rev 2832)
@@ -0,0 +1,23 @@
address@hidden -*-texinfo-*-
+On POSIX it is possible to change the MyServer process user identifier
+and group identifier after it has bound the necessary ports (only the
+root user can bind ports < 1024).
+
+To specify a different process user id (PID), you must specify it in
+the myserver.xml file as:
+
address@hidden
+<PROCESS_USER_ID>PID</PROCESS_USER_ID>
address@hidden example
+
+Differently, to change the process group id (GID), the configuration
+line to use is:
+
address@hidden
+<PROCESS_GROUP_ID>GID</PROCESS_GROUP_ID>
address@hidden example
+
+When one of these features is used, MyServer will not use the
+auto-reboot because it will not be possible to get back old
+permissions.
+
Added: trunk/myserver/documentation/ssl_certificates.texi
===================================================================
--- trunk/myserver/documentation/ssl_certificates.texi
(rev 0)
+++ trunk/myserver/documentation/ssl_certificates.texi 2008-09-21 19:52:04 UTC
(rev 2832)
@@ -0,0 +1,57 @@
address@hidden -*-texinfo-*-
+
address@hidden Brief notes on data encryption
+The data encryption is used to protect the data that is sent between
+the client and the server. There are two types of algorithm: symmetric
+and asymmetric data encryption algorithms. The difference between the
+two types of algorithm is that for the symmetric algorithms the same
+key is used both for encryption and decryption. These algorithms are
+not used by servers with a potentially large number of clients because
+the data captured can be decrypted by any client that know the key and
+because the key needs to be distribute in a safe manner(for example
+using a floppy disk) and not distributing it on a large network like
+Internet. The asymmetric algorithms work in a different way, the data
+encrypted with a key can be decrypted only with the other key and
+vice-versa. Anyone know the public key but only the owner knows the
+private one. In this way the key owner do not have to distribute the
+key only to know clients but he can distributes it to a large scale
+network.
+
address@hidden How create SSL certificates with OpenSSL
+A certificate is needed to certify your identity through a
+CA (Certification Authority). You can use a certificate without
+register it to third party CA, it is called self-signed certificate.
+You can find all the necessary tools to create certificates in the
+library OpenSSL at: www.openssl.org.
+After OpenSSL is installed correctly, type the following commands:
+
address@hidden
+openssl genrsa -out server.key
+openssl req -new -x509 -days 730 -config openssl.cnf \
+ -key server.key -out server.pem
address@hidden example
+
address@hidden How use certificates in MyServer
+To configure certificates in MyServer you have to put the two files:
address@hidden, @code{server.pem} in the MyServer certificates
+directory.
+
+To configure a HTTPS host that will use the created certificate, add
+the following lines in the virtualhosts.xml file:
+
address@hidden
+<VHOST>
+ <NAME>Every connection</NAME>
+ <PORT>443</PORT>
+ <SSL_PRIVATEKEY>certificates/server.key</SSL_PRIVATEKEY>
+ <SSL_CERTIFICATE>certificates/server.pem</SSL_CERTIFICATE>
+ <PROTOCOL>HTTPS</PROTOCOL>
+ <DOCROOT>web</DOCROOT>
+ <SYSFOLDER>system</SYSFOLDER>
+ <ACCESSLOG>logs/myServer.log</ACCESSLOG>
+ <WARNINGLOG>logs/myServer.err</WARNINGLOG>
+</VHOST>
address@hidden example
+
+Take a look at the @pxref{Virtual hosts} documentation to get more
+information about other tags.
Modified: trunk/myserver/documentation/virtual_hosts.texi
===================================================================
--- trunk/myserver/documentation/virtual_hosts.texi 2008-09-21 17:41:38 UTC
(rev 2831)
+++ trunk/myserver/documentation/virtual_hosts.texi 2008-09-21 19:52:04 UTC
(rev 2832)
@@ -23,29 +23,41 @@
</VHOSTS>
@end example
address@hidden @code{<NAME>} gives the server administrator an idea of what the
virtual host
address@hidden
address@hidden <NAME>
+it gives the server administrator an idea of what the virtual host
is such as internal Ethernet, external ethernet or every connection.
address@hidden<PORT>} is the port used for accepting connections.
address@hidden<IP>} is optional. It is the IP address for the interface your
address@hidden <PORT>
+it is the port used for accepting connections.
address@hidden <IP>
+it is optional. It is the IP address for the interface your
virtual host will be working on. The optional useRegex="YES" means the
address would act as a regular expression, not only a fixed
value. This is more useful for networks with dynamic IP addressing.
address@hidden<PROTOCOL>} is the protocol to be used by the host.
address@hidden<DOCROOT>} is the directory where the files are found.
address@hidden<SYSFOLDER>} is the system directory.
address@hidden<HOST>} is your virtual host's name. The optional useRegex="YES"
address@hidden <PROTOCOL>
+it is the protocol to be used by the host.
address@hidden <DOCROOT>
+it is the directory where the files are found.
address@hidden <SYSFOLDER>
+it is the system directory.
address@hidden <HOST>
+it is your virtual host's name. The optional useRegex="YES"
means the address would act as a regular expression, not only a fixed
value.
address@hidden<ACCESSLOG>} is the access log used by the virtual host
address@hidden<WARNINGLOG>} is the errors log file used by the virtual host.
address@hidden<ALLOW_CGI>} This option would deny the access to CGI in this
address@hidden <ACCESSLOG>
+it is the access log used by the virtual host
address@hidden <WARNINGLOG>
+it is the errors log file used by the virtual host.
address@hidden <ALLOW_CGI>
+This option would deny the access to CGI in this
virtual host. This line can exist in myserver.xml too, as a global
configuration, but if it is included in virtualhosts.xml, this is the
one that will be considered. @code{ALLOW_CGI} can also appear as
address@hidden, @code{ALLOW_ISAPI}, @code{ALLOW_MSCGI}, @code{ALLOW_WINCGI},
address@hidden, @code{ALLOW_EXTERNAL_COMMANDS},
address@hidden, each of them denying/allowing the proper HTTP
-data handler to be used.
address@hidden, @code{ALLOW_ISAPI}, @code{ALLOW_MSCGI},
address@hidden, @code{ALLOW_SEND_LINK},
address@hidden, @code{ALLOW_SEND_FILE}, each of them
+denying/allowing the proper HTTP data handler to be used.
address@hidden itemize
Log files can have extra options:
@code{<ACCESSLOG type="combined">logs/myServerHTTP.log</ACCESSLOG>}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [2832] Added new texinfo nodes.,
Giuseppe Scrivano <=