User Tools

Site Tools


building_a_website_on_sdf

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
building_a_website_on_sdf [2021/06/25 22:54]
peteyboy fix typo
building_a_website_on_sdf [2022/08/10 23:34] (current)
peteyboy regularize paths as italic, and monospace for commands
Line 1: Line 1:
-====== Building a website on SDF ======+ ====== Building a website on SDF ======
  
 Creating your own websites can be fun and SDF gives webspace to all its validated users, so the moment you become validated you can begin creating your own websites straight away. Creating your own websites can be fun and SDF gives webspace to all its validated users, so the moment you become validated you can begin creating your own websites straight away.
  
-In this tutorial when text looks like "thisthis means it's a command you can run in your shell, once you've logged into SDF.+In this tutorial when text looks like ''this'', this means it's a command you can run in your shell, once you've logged into SDF.
  
 ==== Getting Started ==== ==== Getting Started ====
  
-''mkhomepg'' - This command needs to be executed before you can start building your web pages. When you execute this program, it will create a directory in which you can put all your web files. This directory is sym-linked into your home directory, under the name //html//. (A sym-link is sort of like a shortcut in Microsoft Windows.)You will be prompted to select a URL for your website. This URL is what other internet users type into their web browser to view your web pages. If you're not an ARPA member then you may only use url'in the form of '"<your login>.freeshell.org"'. For instance, my web pages are stored at '"alterego.freeshell.org"'. If you're an ARPA member, there are many different domains you may use.+''mkhomepg'' - This command needs to be executed before you can start building your web pages. When you execute this program, it will create a directory in which you can put all your web files. This directory is sym-linked into your home directory, under the name //html//. (A sym-link is sort of like a shortcut in Microsoft Windows.)You will be prompted to select a URL for your website. This URL is what other internet users type into their web browser to view your web pages. If you're not an ARPA member then you may only use urls in the form of //<your login>.freeshell.org//. For instance, user //((the original author of this tutorial: thanks, alterego!))alterego//'web pages are stored at //alterego.freeshell.org//. If you're an ARPA member, there are many different domains you may use.
  
 So first, run at your ($) prompt: So first, run at your ($) prompt:
Line 13: Line 13:
   $ mkhomepg   $ mkhomepg
  
-===== Your First Page! =====+==== Your First Page! ====
  
 Creating your first page is **__SO__** easy! First you'll need to open a text editor. SDF has many text editors installed but new users to UNIX often find that "nano" is the easiest to work with. Creating your first page is **__SO__** easy! First you'll need to open a text editor. SDF has many text editors installed but new users to UNIX often find that "nano" is the easiest to work with.
  
-''nano ~/html/index.html'' - This command starts the nano text editor, creating a new file, called 'index.htmlin your html directory.Once you've executed the command above. You'll notice that the terminal layout has changed. If you press keys on your keyboard you'll notice they appear in the "text buffer". Write out the text below into this program.+''nano ~/html/index.html'' - This command starts the nano text editor, creating a new file, called //index.html// in your html directory.Once you've executed the command above. You'll notice that the terminal layout has changed. If you press keys on your keyboard you'll notice they appear in the "text buffer". Write out the text below into this program.
  
     <html>     <html>
Line 29: Line 29:
     </html>     </html>
  
-Now that you have copied the text out into 'nano', you need to save the file. To do this, hold down the 'CTRL' key on your keyboard and whilst pressing that, press the letter ''x'', and answer ''Y'' to the prompt to save, after which nano will exit.+Now that you have copied the text out into ''nano'', you need to save the file. To do this, hold down the 'CTRL' key on your keyboard and whilst pressing that, press the letter ''x'', and answer ''Y'' to the prompt to save, after which nano will exit.
  
-Right, now, do you remember that URL you selected when you ran '"mkhomepg"'? Open a web browser and type that into the address bar. Hopefully, after a few seconds. You should see your very own web page!+Right, now, do you remember that URL you selected when you ran ''mkhomepg''? Open a web browser and type that into the address bar. Hopefully, after a few seconds. You should see your very own web page!
  
  
  
-===== More Pages =====+==== More Pages ====
 Okay, now that you have your first web page up, here are some [[resources_for_website_builders|Resources for Developing Your Website]] Okay, now that you have your first web page up, here are some [[resources_for_website_builders|Resources for Developing Your Website]]
  
Line 41: Line 41:
  mkhomepg -p  mkhomepg -p
 </code> </code>
- The ''-p'' flag sets appropriate permissions for your ''~/html, ~/public_html'' directories on the cluster, and your ''~/html/<username>'' directory on the [[metaarray|The MetaArray]].+ The ''-p'' flag sets appropriate permissions for your //~/html////~/public_html/// directories on the cluster, including your VHOSTS, as well as your //~/html/<username>// directory on the [[metaarray|The MetaArray]].
  
  
Line 51: Line 51:
         mkhomepg -p         (set appropriate file permissions)         mkhomepg -p         (set appropriate file permissions)
         mkhomepg -a         (set or unset your custom URL)         mkhomepg -a         (set or unset your custom URL)
-        mkhomepg -d         (set or unset http://sdf.org/~peteyboy)+        mkhomepg -d         (set or unset http://sdf.org/~username)
         mkhomepg -t         (toggles SDF cluster/MetaArray hosting)         mkhomepg -t         (toggles SDF cluster/MetaArray hosting)
 +
 </code> </code>
  
 +===== Web Page Locations =====
 +
 +As you can see above with the ''mkhomepg'' command, there are several places your web page files can be:
 +  * **Standard Site:** By default, your web site files go in your user folder on the cluster in the ''html'' subfolder. These files are then viewable  at //<your login>.freeshell.org//, or what other domain you set as a custom url with mkhomepg or from the ''maint'' command
 +  * **'Tilde' Site:** You may, if you first run ''mkhomepg -d'' also (or instead) place files in your ''public_html'' folder, and they will be accessible at your old school "tilde site" at //sdf.org/~<your login>//
 +  * **Virtual Host:** If you have a [[vhost]], you should place files for it in your //<nowiki>/html/vhost_name</nowiki>// folder, and they will appear from your properly configured VHOST, if you have signed up for this [[membership_levels|membership]]
 +  * **[[metaarray|The MetaArray]]:** If you want to host from the unlimited storage of the MetaArray, after you use ''mkhomepg -t'' to toggle your main web page from the cluster to the MetaArray, you should put your files on the metaarray at //~/html/<username>//, and as with the cluster, these will be accessible at //<your login>.freeshell.org//, or what other domain you set as a custom url with mkhomepg or from the ''maint'' command
  
 ===== Problems ===== ===== Problems =====
Line 62: Line 70:
 In case a page is not found on your site, the client may be forwarded to a page of sdf.org or redmartian, which can be confusing (but which is in fact completely reasonable, as all the domains belong to one entity). If you want to prevent this also for broken links, you have to set up error handler documents. Please consult the FAQ, [[https://sdf.org/?faq?WEB?07|"CAN I DEFINE MY OWN 403, 404 and 405 ERRORDOCUMENTS?"]] item for this! In case a page is not found on your site, the client may be forwarded to a page of sdf.org or redmartian, which can be confusing (but which is in fact completely reasonable, as all the domains belong to one entity). If you want to prevent this also for broken links, you have to set up error handler documents. Please consult the FAQ, [[https://sdf.org/?faq?WEB?07|"CAN I DEFINE MY OWN 403, 404 and 405 ERRORDOCUMENTS?"]] item for this!
  
-===== Diagnose =====+==== Diagnose ====
  
 One way to try to figure out what is going wrong when you HTTP requests are made to your site is to look at http access logs. One way to try to figure out what is going wrong when you HTTP requests are made to your site is to look at http access logs.
 +
 +=== Finding Your Logs on the Main Cluster ===
  
 If your site is hosted on sdf.org (you are an ARPA member) then you can grep inside the httpd log file in ///var/log// directory. For example: If your site is hosted on sdf.org (you are an ARPA member) then you can grep inside the httpd log file in ///var/log// directory. For example:
  
   $ grep abc123.sdf.org /var/log/httpd/*.log   $ grep abc123.sdf.org /var/log/httpd/*.log
 +  
 +=== Finding Your Logs on the Metaarray ===
  
-If your site is hosted on ma.sdf.org (you are a MetaARPA member) then your can look inside the log file for your web site in ///meta/log//. For example:+If your site is hosted on ma.sdf.org (you are a MetaARPA member) then you can look inside the log file for your web site in ///meta/log//. For example:
  
   $ less /meta/log/abc123.sdf.org   $ less /meta/log/abc123.sdf.org
  
-If your site is VHOSTed, then you can access your site's own log file by ssh-ing to the ''norge'' server using your {LOGNAME}@{VHOSTDOMAIN} with your normal LOGNAME password, then your log file is ///var/log/nginx/{VHOSTDOMAIN}//. ex: +=== Finding Your Logs for VHOSTs === 
 +If your site is VHOSTed, then you can access your site's own log file by ssh-ing to the ''norge'' server using your {LOGNAME}@{VHOSTDOMAIN} with your normal LOGNAME password, then your log files are ///var/log/nginx/{VHOSTDOMAIN}// and ///var/log/nginx/{VHOSTDOMAIN}.err//. ex: 
   $ ssh peteyboy@irulecomputers.com   $ ssh peteyboy@irulecomputers.com
   ... (login stuff)   ... (login stuff)
   $ less /var/log/nginx/irulecomputers.com   $ less /var/log/nginx/irulecomputers.com
 +  
 +==== Web Server Details ====
 +Problems you may be having may relate to what web server your pages are running on. That depends, as above, on where you are storing the pages:
 +
 +^Host      ^Web Server Software    ^Web sites hosted^
 +| sdf     | Apache                |user sites |
 +| faeroes | Apache                |ARPA user sites|
 +| iceland | Apache                |MetaARPA user sites|
 +| norge   | nginx                 |VHOST sites|
 +| mab     | nginx                 |MetaArray IVB (MetaARPA)|
  
 +======  More Help ======
  
 For additional help, check the information in the FAQ page [[https://sdf.org/?faq?WEB?05|"What About the Access Logs, Statistics, and Quotas?"]] For additional help, check the information in the FAQ page [[https://sdf.org/?faq?WEB?05|"What About the Access Logs, Statistics, and Quotas?"]]
building_a_website_on_sdf.1624661669.txt.gz · Last modified: 2021/06/25 22:54 by peteyboy