I’ve successfully build Asterisk on Debian squeeze. PBX seems to work correctly, I’m able to make test call to extension 1000.
Now I’m trying to use web interface (gui), but strange problems has appeared.
I have set up an user in manager.conf (it works with astman) and changed webenabled to yes, in http.conf I set server to enabled, and enablestatic to yes. I have also downloaded asterisk-gui from svn/trunk and installed it.
After restart the server listens on 8080 port, and I’m able to go to the address 192.168.240.75:8088/static/config/index.html. (same behavior on local computer)
But here is the problem - web browser asks to download index.html (opera) or shows its source (IE). It seems as the server sends wrong headers or something similar.
I have played with static/* directory file permissions etc. but it has no effects to wrong behavior.
Asterisk is clean installed, this was the second thing I tried after the test call.
Do please anyone know the solution, how to make the gui working? Settings files are bellow
with best regards
; ; AMI - The Asterisk Manager Interface ; ; Third party application call management support and PBX event supervision ; ; This configuration file is read every time someone logs in ; ; Use the "manager show commands" at the CLI to list available manager commands ; and their authorization levels. ; ; "manager show command <command>" will show a help text. ; ; ---------------------------- SECURITY NOTE ------------------------------- ; Note that you should not enable the AMI on a public IP address. If needed, ; block this TCP port with iptables (or another FW software) and reach it ; with IPsec, SSH, or SSL vpn tunnel. You can also make the manager ; interface available over http/https if Asterisk's http server is enabled in ; http.conf and if both "enabled" and "webenabled" are set to yes in ; this file. Both default to no. httptimeout provides the maximum ; timeout in seconds before a web based session is discarded. The ; default is 60 seconds. ; [general] enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 ; Parameters that control AMI over TLS. ("enabled" must be set too). ; You can open a connection to this socket with e.g. ; ; openssl s_client -connect my_host:5039 ; ;tlsenable=no ; set to YES to enable it ;tlsbindport=5039 ; the port to bind to ;tlsbindaddr=0.0.0.0 ; address to bind to, default to bindaddr ;tlscertfile=/tmp/asterisk.pem ; path to the certificate. ;tlsprivatekey=/tmp/private.pem ; path to the private key, if no private given, ; if no tlsprivatekey is given, default is to search ; tlscertfile for private key. ;tlscipher=<cipher string> ; string specifying which SSL ciphers to use or not use ; ;allowmultiplelogin = yes ; IF set to no, rejects manager logins that are already in use. ; ; The default is yes. ; ;displayconnects = yes ; ; Add a Unix epoch timestamp to events (not action responses) ; ;timestampevents = yes ;brokeneventsaction = yes ; Restore previous behavior that caused the events ; action to not return a response in certain ; circumstances. Defaults to 'no'. ; ; Display certain channel variables every time a channel-oriented ; event is emitted: ; ;channelvars = var1,var2,var3 ; debug = on ; enable some debugging info in AMI messages (default off). ; Also accessible through the "manager debug" CLI command. ; authtimeout specifies the maximum number of seconds a client has to ; authenticate. If the client does not authenticate beofre this timeout ; expires, the client will be disconnected. (default: 30 seconds) ;authtimeout = 30 ; authlimit specifies the maximum number of unauthenticated sessions that will ; be allowed to connect at any given time. ;authlimit = 50 ;httptimeout = 60 ; a) httptimeout sets the Max-Age of the http cookie ; b) httptimeout is the amount of time the webserver waits ; on a action=waitevent request (actually its httptimeout-10) ; c) httptimeout is also the amount of time the webserver keeps ; a http session alive after completing a successful action [honza] secret = heslo ;deny=0.0.0.0/0.0.0.0 ;permit=184.108.40.206/255.255.255.0 ; ;eventfilter=Event: Newchannel ;eventfilter=!Channel: DAHDI* ; The eventfilter option is used to whitelist or blacklist events per user to be ; reported with regular expressions and are allowed if both the regex matches ; and the user has read access set below. Filters are assumed to be for whitelisting ; unless preceeded by an exclamation point, which marks it as being black. ; Evaluation of the filters is as follows: ; - If no filters are configured all events are reported as normal. ; - If there are white filters only: implied black all filter processed first, ; then white filters. ; - If there are black filters only: implied white all filter processed first, ; then black filters. ; - If there are both white and black filters: implied black all filter processed ; first, then white filters, and lastly black filters. ; ; If the device connected via this user accepts input slowly, ; the timeout for writes to it can be increased to keep it ; from being disconnected (value is in milliseconds) ; ; writetimeout = 100 ; ;displayconnects = yes ; Display on CLI user login/logoff ; ; Authorization for various classes ; ; Read authorization permits you to receive asynchronous events, in general. ; Write authorization permits you to send commands and get back responses. The ; following classes exist: ; ; all - All event classes below (including any we may have missed). ; system - General information about the system and ability to run system ; management commands, such as Shutdown, Restart, and Reload. ; call - Information about channels and ability to set information in a ; running channel. ; log - Logging information. Read-only. (Defined but not yet used.) ; verbose - Verbose information. Read-only. (Defined but not yet used.) ; agent - Information about queues and agents and ability to add queue ; members to a queue. ; user - Permission to send and receive UserEvent. ; config - Ability to read and write configuration files. ; command - Permission to run CLI commands. Write-only. ; dtmf - Receive DTMF events. Read-only. ; reporting - Ability to get information about the system. ; cdr - Output of cdr_manager, if loaded. Read-only. ; dialplan - Receive NewExten and VarSet events. Read-only. ; originate - Permission to originate new calls. Write-only. ; agi - Output AGI commands executed. Input AGI command to execute. ; cc - Call Completion events. Read-only. ; aoc - Permission to send Advice Of Charge messages and receive Advice ; - Of Charge events. ; read = system,call,log,verbose,agent,user,config,dtmf,reporting,cdr,dialplan write = system,call,agent,user,config,command,reporting,originate
; ; Asterisk Builtin mini-HTTP server ; ; ; Note about Asterisk documentation: ; If Asterisk was installed from a tarball, then the HTML documentation should ; be installed in the static-http/docs directory which is ; (/var/lib/asterisk/static-http/docs) on linux by default. If the Asterisk ; HTTP server is enabled in this file by setting the "enabled", "bindaddr", ; and "bindport" options, then you should be able to view the documentation ; remotely by browsing to: ; http://<server_ip>:<bindport>/static/docs/index.html ; [general] ; ; Whether HTTP/HTTPS interface is enabled or not. Default is no. ; This also affects manager/rawman/mxml access (see manager.conf) ; enabled=yes ; ; Address to bind to, both for HTTP and HTTPS. Default is 0.0.0.0 ; ;bindaddr=192.168.240.75 ; ; Port to bind to for HTTP sessions (default is 8088) ; bindport=8088 ; ; Prefix allows you to specify a prefix for all requests ; to the server. The default is blank. If uncommented ; all requests must begin with /asterisk ; ;prefix=asterisk ; ; sessionlimit specifies the maximum number of httpsessions that will be ; allowed to exist at any given time. (default: 100) ; ;sessionlimit=100 ; ; Whether Asterisk should serve static content from http-static ; Default is no. ; enablestatic=yes ; ; Redirect one URI to another. This is how you would set a ; default page. ; Syntax: redirect=<from here> <to there> ; For example, if you are using the Asterisk-gui, ; it is convenient to enable the following redirect: ; redirect = / /static/config/index.html ; ; HTTPS support. In addition to enabled=yes, you need to ; explicitly enable tls, define the port to use, ; and have a certificate somewhere. ;tlsenable=yes ; enable tls - default no. ;tlsbindport=4433 ; port to use - default is 8089 ;tlsbindaddr=0.0.0.0 ; address to bind to - default is bindaddr. ; ;tlscertfile=</path/to/certificate.pem> ; path to the certificate file (*.pem) only. ;tlsprivatekey=</path/to/private.pem> ; path to private key file (*.pem) only. ; If no path is given for tlscertfile or tlsprivatekey, default is to look in current ; directory. If no tlsprivatekey is given, default is to search tlscertfile for private key. ; ; To produce a certificate you can e.g. use openssl. This places both the cert and ; private in same .pem file. ; openssl req -new -x509 -days 365 -nodes -out /tmp/foo.pem -keyout /tmp/foo.pem ; ; The post_mappings section maps URLs to real paths on the filesystem. If a ; POST is done from within an authenticated manager session to one of the ; configured POST mappings, then any files in the POST will be placed in the ; configured directory. ; ;[post_mappings] ; ; In this example, if the prefix option is set to "asterisk", then using the ; POST URL: /asterisk/uploads will put files in /var/lib/asterisk/uploads/. ;uploads = /var/lib/asterisk/uploads/ ;