Project

General

Profile

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.