Difference between revisions of "Webserver"

From AMule Project FAQ
Jump to: navigation, search
(not finished. just saving to make sure i don't loose what ive laredy done ;))
Line 1: Line 1:
== How to setup a [[aMuleWeb|Webserver]] with [[aMule]] 2.0.0rc1 and later ==
 
 
 
=== Previous notes ===
 
=== Previous notes ===
  
Line 6: Line 4:
 
Since some few files are needed from the sources to set-up [[aMuleWeb]], please visit http://www.amule.org and download the tar.gz package for your [[aMule]] version.
 
Since some few files are needed from the sources to set-up [[aMuleWeb]], please visit http://www.amule.org and download the tar.gz package for your [[aMule]] version.
  
=== Setting up [[aMuleWeb]] ===
+
== Set a [[aMuleWeb|Webserver]] with [[aMule]] ==
 +
 
 +
=== With [[aMule]] 2.0.0-rc1 or later ===
  
 
*[http://www.gnu.org/software/tar/tar.html Untar] the sources and copy ''src/aMule.tmpl'' and ''src/webserver/'' into your ''~/.aMule/'' directory. The following (run from the sources directory), should do so:
 
*[http://www.gnu.org/software/tar/tar.html Untar] the sources and copy ''src/aMule.tmpl'' and ''src/webserver/'' into your ''~/.aMule/'' directory. The following (run from the sources directory), should do so:
Line 20: Line 20:
 
*Restart [[aMule]]
 
*Restart [[aMule]]
  
4) Go to your Preferences -> Remote Connection (in [[aMule]]):
+
*Go to your "Preferences"->"Remote Controls" (in [[aMule]]):
*Enable your [[aMuleWeb|webserver]]
+
**Enable your [[aMuleWeb|webserver]]
*Also setup your passwords here for [External Connections]] and [[aMuleWeb|webserver]] login
+
**Also setup your passwords here for [[External Connections]] and [[aMuleWeb|webserver]] login.
*When you change your ports for [[aMuleWeb|webserver]] and [[External Connections]] here make sure to restart [[aMule]]!!
+
::'''NOTE:''' When you change your [[aMuleWeb|webserver]] and [[External Connections]] ports here, make sure to restart [[aMule]].
  
5) After you are done, save your settings, go to console and type
+
*Now you're done! You are ready to run [[aMuleWeb]] and connect to it.
*''amuleweb''
+
*Type in your password. This will startup your [[aMule]] [[aMuleWeb|webserver]]. If you changed your [[External Connections]] port to someting else start [[aMuleWeb|amuleweb]] with:
+
*''amuleweb -p '''new_port'''''
+
at the end it should look something like this:
+
<code>
+
Web Server: Started
+
 
+
amuleweb$
+
 
+
WSThread: Thread started
+
 
+
WSThread: created service
+
 
+
WSThread: created socket listening on :4711
+
</code>
+
 
+
6) To make sure it is working use your favorite browser to browse:
+
*''http://localhost:4711''
+
 
+
'''NOTE:''' This (port 4711) is the default port of your [[aMuleWeb]]. If you connect to 4712 this will not work since it is the [[External Connections]] port, so connecting here will result in error messages by [[aMule]].
+
 
+
'''NOTE:''' Since [[aMule]] 2.0.0-rc6, [[aMuleWeb]] supports ''--quiet'' switch (or ''-q'' also) which renders allows    [[aMuleWeb]] to be easily run on the background.<br>
+
However, on previous [[aMule]] releases, although [[aMuleWeb]] works well, it's actually quite tricky to run it in the background because it's continuously asking for user commands and showing the prompt. The obvious way to avoid this would be running amuleweb with the output redirected to ''/dev/null'', but this hogs the CPU due to the constant writing, so a better approach is to use the program [http://directory.fsf.org/GNU/screen.html screen], which is a terminal emulator. In order to run [[aMuleWeb]] inside a virtual terminal, the following command should be executed: ''screen -d -m -S amulewebsession amuleweb -p 7000 -pw password'' (assuming that [[aMule]] is listening for [[External Connections]] on port ''7000'' and the password is ''password''). Then, [[aMuleWeb]] will start listening for HTTP connections, but will show the prompt and all messages in this virtual terminal. It's possible to switch to this terminal using the command ''screen -r amulewebsession'', please refer to [http://directory.fsf.org/GNU/screen.html screen] documentation for info about session switching, internal commands, etc.
+
 
+
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]
+
  
 
'''[[User:Stefanero|Stefanero]]'''
 
'''[[User:Stefanero|Stefanero]]'''
  
== How to setup a [[aMuleWeb|Webserver]] with [[aMule]] 1.2.8 or earlier ==
+
=== With [[aMule]] 1.2.8 or earlier ===
  
 
The following is based on the original instruction by BigBob. They guide you on how to modify [[aMule]]'s configuration files to set [[aMuleWeb]] correctly. There is "Preferences"->"Remote Controls" now, but anyway, information is never a bad idea.
 
The following is based on the original instruction by BigBob. They guide you on how to modify [[aMule]]'s configuration files to set [[aMuleWeb]] correctly. There is "Preferences"->"Remote Controls" now, but anyway, information is never a bad idea.
Line 64: Line 39:
 
*Copy from [[aMule]]'s sources (version 1.2.4 or later) the file ''src/aMule.tmpl'' into your ''~/.aMule/aMule.tmpl'' directory.
 
*Copy from [[aMule]]'s sources (version 1.2.4 or later) the file ''src/aMule.tmpl'' into your ''~/.aMule/aMule.tmpl'' directory.
  
*Open a terminal and type (you might have to install ''md5sum''):
+
*Open a terminal and type (you might have to install ''[http://www.delorie.com/gnu/docs/textutils/md5sum.1.html md5sum]''):
  
 
:''echo -n "'''THEPASWORDYOUWANT'''" | md5sum | cut -d " " -f 1''
 
:''echo -n "'''THEPASWORDYOUWANT'''" | md5sum | cut -d " " -f 1''
This reply with an [[MD5]] hash. Something like: 324f85f6095f9e5fe25b6c85af44b445
+
:This command will reply with an [[MD4 hash|MD5 hash]]. Something like: 324f85f6095f9e5fe25b6c85af44b445
  
 
*Edit your ''~/.eMule'' file, locate the ''[ExternalConnect]'' section in it and change this fields:
 
*Edit your ''~/.eMule'' file, locate the ''[ExternalConnect]'' section in it and change this fields:
Line 78: Line 53:
 
*Edit your ''~/.eMule'' file, locate the ''[WebServer]'' section in it and change fields:
 
*Edit your ''~/.eMule'' file, locate the ''[WebServer]'' section in it and change fields:
  
:''Password=324f85f6095f9e5fe25b6c85af44b445'' <- Put here the password generated in term for the admin (full privileged users).
+
:''Password=324f85f6095f9e5fe25b6c85af44b445'' <- Put here the password generated with [http://www.delorie.com/gnu/docs/textutils/md5sum.1.html md5sum] for the admin (full privileged users).
:''PasswordLow=1db5a746266e941b3ef7dd3586863ca7'' <- Put here the password generated in term for "low users" (low privileged users).
+
:''PasswordLow=1db5a746266e941b3ef7dd3586863ca7'' <- Put here the password generated with [http://www.delorie.com/gnu/docs/textutils/md5sum.1.html md5sum] for "low users" (low privileged users).
 
:''Port=10000'' <- Put the port you want [[aMuleWeb]] to listen on.
 
:''Port=10000'' <- Put the port you want [[aMuleWeb]] to listen on.
 
:''Enabled=1'' <- This option has been deprecated and is completly ignored now. Enabling External Connections will enable any application it connects to it, including [[aMuleWeb]].
 
:''Enabled=1'' <- This option has been deprecated and is completly ignored now. Enabling External Connections will enable any application it connects to it, including [[aMuleWeb]].
Line 94: Line 69:
 
*That's all :)
 
*That's all :)
  
'''NOTE:'' In latest [[aMule]] 1.2.x releases, the option ''WebTemplateFile'' allows to override the file template to use (thanks to [[User:Stefanero|Stefanero]]. You can set this option in the ''[eMule]]'' section. Example:
+
:'''NOTE:'' In latest [[aMule]] 1.2.x releases, the option ''WebTemplateFile'' allows to override the file template to use (thanks to [[User:Stefanero|Stefanero]]. You can set this option in the ''[eMule]]'' section. Example:
  
''WebTemplateFile=eMule.tmpl''
+
:''WebTemplateFile=eMule.tmpl''
  
 
''Shakraw''
 
''Shakraw''
 +
 +
== Connecting to [[aMuleWeb]] ==
 +
 +
To run [[aMuleWeb]] run ''amuleweb'' on a terminal. For more information about running [[aMuleWeb]] check the [[aMuleWeb|aMuleWeb document]].
 +
 +
Once [[aMuleWeb]] is running, open a web browser and connect to:
 +
 +
''http://'''host''':'''port'''
 +
 +
where ''host'' stands for your host's name (try with ''localhost'') and port stands for the [[aMuleWeb]] port ('''NOT''' the [[External Connections]] port).
 +
 +
For example: ''http://localhost:4711''
 +
 +
== Standard ports ==
 +
 +
The ports can be set to anything, but this are the most used (the standard ones):
 +
 +
*[[External Connections]]: 4712
 +
*[[aMuleWeb]]: 4711
 +
 +
Make sure you do not confuse with what each of them is.
 +
 +
== Where to report problems and questions? ==
 +
 +
For Problems or Questions just report on http://forum.amule.org forum or join [[IRC]] channel [irc://irc.freenode.net/amule #amule] at [irc://irc.freenode.net irc.freenode.net]

Revision as of 00:58, 12 November 2004

Previous notes

If you installed aMule via deb or RPM package, the webserver source is not included. Since some few files are needed from the sources to set-up aMuleWeb, please visit http://www.amule.org and download the tar.gz package for your aMule version.

Set a Webserver with aMule

With aMule 2.0.0-rc1 or later

  • Untar the sources and copy src/aMule.tmpl and src/webserver/ into your ~/.aMule/ directory. The following (run from the sources directory), should do so:
cp -r src/aMule.tmpl src/webserver/ ~/.aMule/
  • Shutdown aMule if it is still running.
  • Edit your ~/.eMule file:
  • Locate the [ExternalConnect] section and change:
    • AcceptExternalConnections=1 <-- To enable aMule listening for External Connections.
    • ECUseTCPPort=1 <-- To use the TCP port. Very important since Unix sockets are disabled.
NOTE: When you change your webserver and External Connections ports here, make sure to restart aMule.
  • Now you're done! You are ready to run aMuleWeb and connect to it.

Stefanero

With aMule 1.2.8 or earlier

The following is based on the original instruction by BigBob. They guide you on how to modify aMule's configuration files to set aMuleWeb correctly. There is "Preferences"->"Remote Controls" now, but anyway, information is never a bad idea.

  • Shutdown aMule to avoid overwritting config files while shutting down.
  • Copy from aMule's sources (version 1.2.4 or later) the directory src/webserver/ into your ~/.aMule/webserver/ directory.
  • Copy from aMule's sources (version 1.2.4 or later) the file src/aMule.tmpl into your ~/.aMule/aMule.tmpl directory.
  • Open a terminal and type (you might have to install md5sum):
echo -n "THEPASWORDYOUWANT" | md5sum | cut -d " " -f 1
This command will reply with an MD5 hash. Something like: 324f85f6095f9e5fe25b6c85af44b445
  • Edit your ~/.eMule file, locate the [ExternalConnect] section in it and change this fields:
AcceptExternalConnections=1 <- To enable aMule to listen for external connections.
ECUseTCPPort=0 <- 0/1 (disable/enable) the use of a TCP port (if disabled use a Unix socket in your ~/.aMule/muleconn) for External Connections.
ECPort=4712 <- Put here the port on which you want aMule to listen for External Connections.
ECPassword=39e5049d0614baf21906500e2261d500 <- Put here the password for External Connections' authentications you generated before in terminal (something like 324f85f6095f9e5fe25b6c85af44b445).
  • Edit your ~/.eMule file, locate the [WebServer] section in it and change fields:
Password=324f85f6095f9e5fe25b6c85af44b445 <- Put here the password generated with md5sum for the admin (full privileged users).
PasswordLow=1db5a746266e941b3ef7dd3586863ca7 <- Put here the password generated with md5sum for "low users" (low privileged users).
Port=10000 <- Put the port you want aMuleWeb to listen on.
Enabled=1 <- This option has been deprecated and is completly ignored now. Enabling External Connections will enable any application it connects to it, including aMuleWeb.
UseGzip=1 <- Enable compression on communication.
PageRefreshTime=120 <- Put here the web page refresh time (in seconds).
UseLowRightsUser=0 <- 0/1 (disabled/enabled) "low user" access.
  • Now point your web browser to http://localhost:10000 (or whatever your host and ports are) and authenticate yourself with "Password" (for full privileged user) or "PasswordLow" (for low privileged user, if enabled).
  • That's all :)
'NOTE: In latest aMule 1.2.x releases, the option WebTemplateFile allows to override the file template to use (thanks to Stefanero. You can set this option in the [eMule]] section. Example:
WebTemplateFile=eMule.tmpl

Shakraw

Connecting to aMuleWeb

To run aMuleWeb run amuleweb on a terminal. For more information about running aMuleWeb check the aMuleWeb document.

Once aMuleWeb is running, open a web browser and connect to:

http://host:port

where host stands for your host's name (try with localhost) and port stands for the aMuleWeb port (NOT the External Connections port).

For example: http://localhost:4711

Standard ports

The ports can be set to anything, but this are the most used (the standard ones):

Make sure you do not confuse with what each of them is.

Where to report problems and questions?

For Problems or Questions just report on http://forum.amule.org forum or join IRC channel #amule at irc.freenode.net