Difference between revisions of "Webserver"
m (Reverted edit of 80.58.34.237, changed back to last version by Jacobo221) |
(not finished. just saving to make sure i don't loose what ive laredy done ;)) |
||
Line 1: | Line 1: | ||
− | == How to setup a Webserver with [[aMule]] 2.0.0rc1 and later | + | == How to setup a [[aMuleWeb|Webserver]] with [[aMule]] 2.0.0rc1 and later == |
− | + | === Previous notes === | |
− | + | ||
+ | If you installed [[aMule]] via [http://www.debian.org deb] or [http://www.rpm.org RPM] package, the [[aMuleWeb|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. | ||
+ | === Setting up [[aMuleWeb]] === | ||
− | ''' | + | *[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: |
+ | :''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: | *Locate the ''[ExternalConnect]'' section and change: | ||
− | **''AcceptExternalConnections=1'' <-- To enable [[aMule]] listening for [[External Connections]] | + | **''AcceptExternalConnections=1'' <-- To enable [[aMule]] listening for [[External Connections]]. |
− | **''ECUseTCPPort=1'' <-- To use the TCP port | + | **''ECUseTCPPort=1'' <-- To use the [http://www.faqs.org/faqs/internet/tcp-ip/resource-list TCP] port. Very important since [http://www.unix.org Unix] sockets are disabled. |
− | + | *Restart [[aMule]] | |
4) Go to your Preferences -> Remote Connection (in [[aMule]]): | 4) Go to your Preferences -> Remote Connection (in [[aMule]]): | ||
Line 52: | Line 50: | ||
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. | 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 | + | 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]]''' | ||
+ | |||
+ | == How to setup a [[aMuleWeb|Webserver]] 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 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 [http://www.faqs.org/faqs/internet/tcp-ip/resource-list TCP] port (if disabled use a [http://www.unix.org 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<nowiki>'</nowiki> 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 in term for the admin (full privileged users). | ||
+ | :''PasswordLow=1db5a746266e941b3ef7dd3586863ca7'' <- Put here the password generated in term 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. | ||
+ | |||
+ | *Restart [[aMule]]. | ||
+ | |||
+ | *Once [[aMule]] is running, start the web interface ([[aMuleWeb]]). | ||
+ | |||
+ | *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 [[User:Stefanero|Stefanero]]. You can set this option in the ''[eMule]]'' section. Example: | ||
+ | ''WebTemplateFile=eMule.tmpl'' | ||
− | '' | + | ''Shakraw'' |
Revision as of 23:24, 11 November 2004
Contents
How to setup a Webserver with aMule 2.0.0rc1 and later
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.
Setting up aMuleWeb
- 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.
- Restart aMule
4) Go to your Preferences -> Remote Connection (in aMule):
- Enable your webserver
- Also setup your passwords here for [External Connections]] and webserver login
- When you change your ports for webserver and External Connections here make sure to restart aMule!!
5) After you are done, save your settings, go to console and type
- amuleweb
- Type in your password. This will startup your aMule webserver. If you changed your External Connections port to someting else start amuleweb with:
- amuleweb -p new_port
at the end it should look something like this:
Web Server: Started
amuleweb$
WSThread: Thread started
WSThread: created service
WSThread: created socket listening on :4711
6) To make sure it is working use your favorite browser to browse:
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.
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 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 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 #amule at irc.freenode.net
How to setup a Webserver 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 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 in term for the admin (full privileged users).
- PasswordLow=1db5a746266e941b3ef7dd3586863ca7 <- Put here the password generated in term 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.
- Restart aMule.
- 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