myserver-commit
[Top][All Lists]
Advanced

[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>}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]