Application » History » Version 1
  Elmer de Looff, 2012-11-08 14:42 
  
| 1 | 1 | Elmer de Looff | h1. Application  | 
|---|---|---|---|
| 2 | 1 | Elmer de Looff | |
| 3 | 1 | Elmer de Looff | h2. Initialize uweb project  | 
| 4 | 1 | Elmer de Looff | |
| 5 | 1 | Elmer de Looff | The easy way to initialize uweb is to type  | 
| 6 | 1 | Elmer de Looff | |
| 7 | 1 | Elmer de Looff | <pre>  | 
| 8 | 1 | Elmer de Looff | uweb init [your project name]  | 
| 9 | 1 | Elmer de Looff | </pre>  | 
| 10 | 1 | Elmer de Looff | |
| 11 | 1 | Elmer de Looff | This creates a folder in your current directory with the project name.  | 
| 12 | 1 | Elmer de Looff | When you don't pick a name uweb uses 'uweb_project' by default.  | 
| 13 | 1 | Elmer de Looff | You probably want pick a nice name because this is what makes your project unique like a little snow flake.  | 
| 14 | 1 | Elmer de Looff | |
| 15 | 1 | Elmer de Looff | <pre>  | 
| 16 | 1 | Elmer de Looff | uweb init snowflake  | 
| 17 | 1 | Elmer de Looff | </pre>  | 
| 18 | 1 | Elmer de Looff | |
| 19 | 1 | Elmer de Looff | <pre>  | 
| 20 | 1 | Elmer de Looff | --------------------------------------------  | 
| 21 | 1 | Elmer de Looff | initializing uweb  | 
| 22 | 1 | Elmer de Looff | --------------------------------------------  | 
| 23 | 1 | Elmer de Looff | cloning uweb source  | 
| 24 | 1 | Elmer de Looff | setting up router  | 
| 25 | 1 | Elmer de Looff | setting up apache config  | 
| 26 | 1 | Elmer de Looff | --------------------------------------------  | 
| 27 | 1 | Elmer de Looff | initialization complete - have fun with uweb  | 
| 28 | 1 | Elmer de Looff | --------------------------------------------  | 
| 29 | 1 | Elmer de Looff | </pre>  | 
| 30 | 1 | Elmer de Looff | |
| 31 | 1 | Elmer de Looff | This generates the snowflake uweb project and generates a folder named 'snowflake' in your current directory. The snowflake project contains multiple folders and files.  | 
| 32 | 1 | Elmer de Looff | In the next chapter we'll activate our project locally.  | 
| 33 | 1 | Elmer de Looff | |
| 34 | 1 | Elmer de Looff | If you already have a project with the same name, uweb gives you a warning and cancels initialization.  | 
| 35 | 1 | Elmer de Looff | |
| 36 | 1 | Elmer de Looff | <pre>  | 
| 37 | 1 | Elmer de Looff | Project already excist, use -f (force) to wipe project.  | 
| 38 | 1 | Elmer de Looff | </pre>  | 
| 39 | 1 | Elmer de Looff | |
| 40 | 1 | Elmer de Looff | If you somehow completely ruined your project and want a clean start add the 'f' (force) flag to remove your project and execute a clean initialization.  | 
| 41 | 1 | Elmer de Looff | |
| 42 | 1 | Elmer de Looff | <pre>  | 
| 43 | 1 | Elmer de Looff | uweb init snowflake -f  | 
| 44 | 1 | Elmer de Looff | </pre>  | 
| 45 | 1 | Elmer de Looff | |
| 46 | 1 | Elmer de Looff | The same effect can be recreated by deleting the project and initializing uweb as usual.  | 
| 47 | 1 | Elmer de Looff | |
| 48 | 1 | Elmer de Looff | h2. Start/stop local webserver  | 
| 49 | 1 | Elmer de Looff | |
| 50 | 1 | Elmer de Looff | uweb works with router files. A router usually represents a domain. To start a webserver navigate to your router (in the project's router folder) and type 'start'.  | 
| 51 | 1 | Elmer de Looff | |
| 52 | 1 | Elmer de Looff | <pre>  | 
| 53 | 1 | Elmer de Looff | python /home/user/snowflake/router/snowflake.py start  | 
| 54 | 1 | Elmer de Looff | </pre>  | 
| 55 | 1 | Elmer de Looff | |
| 56 | 1 | Elmer de Looff | Next you can open up your browser and navigate to:  | 
| 57 | 1 | Elmer de Looff | |
| 58 | 1 | Elmer de Looff | <pre>  | 
| 59 | 1 | Elmer de Looff | http://localhost:8082/  | 
| 60 | 1 | Elmer de Looff | </pre>  | 
| 61 | 1 | Elmer de Looff | |
| 62 | 1 | Elmer de Looff | Uweb uses port 8082 locally by default.  | 
| 63 | 1 | Elmer de Looff | This brings you to the default uweb page which contains the text 'Hello µWeb'.  | 
| 64 | 1 | Elmer de Looff | This means you have successfully setup and started your own uweb project.  | 
| 65 | 1 | Elmer de Looff | |
| 66 | 1 | Elmer de Looff | To stop you local server, replace the 'start' command with 'stop'  | 
| 67 | 1 | Elmer de Looff | |
| 68 | 1 | Elmer de Looff | <pre>  | 
| 69 | 1 | Elmer de Looff | python /home/user/snowflake/router/snowflake.py stop  | 
| 70 | 1 | Elmer de Looff | </pre>  | 
| 71 | 1 | Elmer de Looff | |
| 72 | 1 | Elmer de Looff | When you make updates in your router, uweb usually don't update your changes manually.  | 
| 73 | 1 | Elmer de Looff | Type 'restart' to restart your local server with the new configurations.  | 
| 74 | 1 | Elmer de Looff | |
| 75 | 1 | Elmer de Looff | <pre>  | 
| 76 | 1 | Elmer de Looff | python /home/user/snowflake/router/snowflake.py restart  | 
| 77 | 1 | Elmer de Looff | </pre>  | 
| 78 | 1 | Elmer de Looff | |
| 79 | 1 | Elmer de Looff | h2. Setting up uWeb in Apache  | 
| 80 | 1 | Elmer de Looff | |
| 81 | 1 | Elmer de Looff | To setup uweb in apache, copy the apache.conf (in the root of your project) to your available apache sites.  | 
| 82 | 1 | Elmer de Looff | Uweb its default domain is your project name followed by local.  | 
| 83 | 1 | Elmer de Looff | |
| 84 | 1 | Elmer de Looff | <pre>  | 
| 85 | 1 | Elmer de Looff | ServerName [project_name].local  | 
| 86 | 1 | Elmer de Looff | </pre>  | 
| 87 | 1 | Elmer de Looff | |
| 88 | 1 | Elmer de Looff | change this to the desired domain name.  | 
| 89 | 1 | Elmer de Looff | |
| 90 | 1 | Elmer de Looff | <pre>  | 
| 91 | 1 | Elmer de Looff | ServerName snowflake.com  | 
| 92 | 1 | Elmer de Looff | </pre>  | 
| 93 | 1 | Elmer de Looff | |
| 94 | 1 | Elmer de Looff | Next add this domain to your hosts and reload apache.  | 
| 95 | 1 | Elmer de Looff | Now your uweb project should work in Apache.  | 
| 96 | 1 | Elmer de Looff | |
| 97 | 1 | Elmer de Looff | *Warning*  | 
| 98 | 1 | Elmer de Looff | Renaming/moving your project will result in a broken apache config file.  | 
| 99 | 1 | Elmer de Looff | When you rename your project, remember to adjust the apache.conf file to the new name / location  | 
| 100 | 1 | Elmer de Looff | |
| 101 | 1 | Elmer de Looff | h2. Quick router controls  | 
| 102 | 1 | Elmer de Looff | |
| 103 | 1 | Elmer de Looff | To easily control uweb routers, there are a number of actions on the uWeb application, listed below:  | 
| 104 | 1 | Elmer de Looff | |
| 105 | 1 | Elmer de Looff | <pre>  | 
| 106 | 1 | Elmer de Looff | uweb [list|start|stop|restart|add|remove] -n [project name]  | 
| 107 | 1 | Elmer de Looff | </pre>  | 
| 108 | 1 | Elmer de Looff | |
| 109 | 1 | Elmer de Looff | Each project you create is added to je uweb router location file.  | 
| 110 | 1 | Elmer de Looff | This file contains the router locations of all your uweb project.  | 
| 111 | 1 | Elmer de Looff | Calling the sites argument will display all projects and there route locations  | 
| 112 | 1 | Elmer de Looff | |
| 113 | 1 | Elmer de Looff | <pre>  | 
| 114 | 1 | Elmer de Looff | $ uweb sites  | 
| 115 | 1 | Elmer de Looff | snowflake: /home/codehunger/snowflake/router/snowflake.py  | 
| 116 | 1 | Elmer de Looff | </pre>  | 
| 117 | 1 | Elmer de Looff | |
| 118 | 1 | Elmer de Looff | In this example you see only one uweb project.  | 
| 119 | 1 | Elmer de Looff | This project is called 'snowflake' and the router location is '/home/codehunger/snowflake/router/snowflake.py'  | 
| 120 | 1 | Elmer de Looff | |
| 121 | 1 | Elmer de Looff | To start the 'snowflake' router you can simpely call uweb to start the snowflake router.  | 
| 122 | 1 | Elmer de Looff | |
| 123 | 1 | Elmer de Looff | <pre>  | 
| 124 | 1 | Elmer de Looff | $ uweb start -n snowflake  | 
| 125 | 1 | Elmer de Looff | Starting ...  | 
| 126 | 1 | Elmer de Looff | </pre>  | 
| 127 | 1 | Elmer de Looff | |
| 128 | 1 | Elmer de Looff | The n option should contain the name of your project.  | 
| 129 | 1 | Elmer de Looff | This could also be used to  | 
| 130 | 1 | Elmer de Looff | |
| 131 | 1 | Elmer de Looff | restart the router:  | 
| 132 | 1 | Elmer de Looff | <pre>  | 
| 133 | 1 | Elmer de Looff | $ uweb restart -n snowflake  | 
| 134 | 1 | Elmer de Looff | Stopping ...  | 
| 135 | 1 | Elmer de Looff | Starting ...  | 
| 136 | 1 | Elmer de Looff | </pre>  | 
| 137 | 1 | Elmer de Looff | |
| 138 | 1 | Elmer de Looff | stop the router:  | 
| 139 | 1 | Elmer de Looff | <pre>  | 
| 140 | 1 | Elmer de Looff | $ uweb stop -n snowflake  | 
| 141 | 1 | Elmer de Looff | Stopping ...  | 
| 142 | 1 | Elmer de Looff | </pre>  | 
| 143 | 1 | Elmer de Looff | |
| 144 | 1 | Elmer de Looff | When you add a uweb website (from a repository for example), uweb need to be updated.  | 
| 145 | 1 | Elmer de Looff | To add a path to the uwebsites use the 'add' argument.  | 
| 146 | 1 | Elmer de Looff | |
| 147 | 1 | Elmer de Looff | <pre>  | 
| 148 | 1 | Elmer de Looff | $ uweb sites  | 
| 149 | 1 | Elmer de Looff | snowflake: /home/codehunger/snowflake/router/snowflake.py  | 
| 150 | 1 | Elmer de Looff | $ uweb add -n foreign_snowflake -r /home/codehunger/foreign_snowflake/router/snowflake.py  | 
| 151 | 1 | Elmer de Looff | $ uweb sites  | 
| 152 | 1 | Elmer de Looff | foreign_snowflake: /home/codehunger/foreign_snowflake/router/snowflake.py  | 
| 153 | 1 | Elmer de Looff | snowflake: /home/codehunger/snowflake/router/snowflake.py  | 
| 154 | 1 | Elmer de Looff | </pre>  | 
| 155 | 1 | Elmer de Looff | |
| 156 | 1 | Elmer de Looff | The -n option contains the project name.  | 
| 157 | 1 | Elmer de Looff | The -r is the router location.  | 
| 158 | 1 | Elmer de Looff | |
| 159 | 1 | Elmer de Looff | In this example a project is added to the uweb sites.  | 
| 160 | 1 | Elmer de Looff | As you can see 'uweb sites' first printed 1 record and after adding a new site it printed 2 records.  | 
| 161 | 1 | Elmer de Looff | |
| 162 | 1 | Elmer de Looff | When you move your project the router links are not directing to your router anymore.  | 
| 163 | 1 | Elmer de Looff | You can update your router location with the -f (force) flag.  | 
| 164 | 1 | Elmer de Looff | |
| 165 | 1 | Elmer de Looff | <pre>  | 
| 166 | 1 | Elmer de Looff | $ uweb add -f -n foreign_snowflake -r /home/bob/snowflake/router/snowflake.py  | 
| 167 | 1 | Elmer de Looff | </pre>  | 
| 168 | 1 | Elmer de Looff | |
| 169 | 1 | Elmer de Looff | This updates the 'foreign_snowflake' record with a new router location.  | 
| 170 | 1 | Elmer de Looff | The previous router location is overwritten by the new location.  |