Well I reformulate as an answer. It might not be complete but I hope it contributes to a better understanding. I found the whole sage server story, while perfectly clear for the pros, is very confusing for real beginners (Took me some time to figure that out myself ).
Every time you start the notebook with
sage -notebook
you have the sage notebook server running, which is potentially enough to access it remotely. It listens to input and generates html output on port:8000 (so it doesn't need apache or another server for that - side note: the default port is going to change to 8080 in the upcomming sage 5.0 release).
if you want to access the server from another machine than you have to make sure that it is not blocked somewhere (firewall/router). In the beginning you can check if you can reach the server in your LAN. Get your machines local IP with the command ifconfig. It can look like 192.168.2.102
(but will probably be different on your computer). Then try to access it from another machine on the LAN with this IP-adress: http://192.168.2.102:8000
. If it doesn't work check the firewall setting of the "sage server" machine.
If you want to access the machine from outside the LAN then you have to setup your network so that your Router/web access point forwards any incoming request on a specific port (e.g. 8000
of router to 8000
to your sage server). You can change the settings of most routers over a web login. Just google up the online doc for your model.
You can get the real IP-address from your network e.g. from the admin pannel of your router or just surf on a website like
http://www.whatsmyip.org/.
If it is a "static" address then you have no problems - it will not change.
However if it is "dynamic" then this address gets reassigned once in a while.
So how exactly do you go around this problem? You could use a DDNS server. (google "webhosting with dynamic IP" to learn more) or if you have access to your own webspace you could also send autoupdated IP info there (e.g make a cron job which checks if link has changed and if yes, rsync the link on your webserver)
If you setup the server in this way it is of course accesible by the public (although I think only 1 user can work at the same time, without further setup i.e. additional worker accounts on the sage server). The most basic measure to secure things up a bit are:
set a sage admin password
create accounts as needed (maybe you want to share the server with others)
start the notebook with the following commandline options:
sage -notebook secure=true require_login=true accounts=false interface=''
secure=true will enable ssh encryption so you have to use the secure protokol https://IP.of.Sage.server:8000 ...
(more)
Did you use this instructions? http://wiki.sagemath.org/SageServer I am not sure if you need apache - is the sage server itself not enough? For what purpose do you want remote access? - if it is just for your personal use you also can use ssh forwarding. Please give more information about the actual problem ;-)
I tried http://wiki.sagemath.org/SageServer but I didn't have the the /etc/apache2/sites-available/sagenotebook directory so I had to stop at that step. Could it because I installed apache after installing sage? But I don't specifically need to run sage notebook on an apache server, just I didn't know until now about the sage server and I don't know how to configure it. As for my purposes, I'd like to access sage notebook via http from any computer with an internet connection. I'm new to networking, so I will have to first look into ssh forwading before I can try your suggestion.