diff options
Diffstat (limited to 'documentation/toaster-manual/toaster-manual-setup-and-use.rst')
-rw-r--r-- | documentation/toaster-manual/toaster-manual-setup-and-use.rst | 396 |
1 files changed, 261 insertions, 135 deletions
diff --git a/documentation/toaster-manual/toaster-manual-setup-and-use.rst b/documentation/toaster-manual/toaster-manual-setup-and-use.rst index 1ff28395f3..42d868bbe0 100644 --- a/documentation/toaster-manual/toaster-manual-setup-and-use.rst +++ b/documentation/toaster-manual/toaster-manual-setup-and-use.rst | |||
@@ -1,4 +1,6 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-2.0-UK | 1 | .. SPDX-License-Identifier: CC-BY-2.0-UK |
2 | .. Set default pygment highlighting to 'shell' for this document | ||
3 | .. highlight:: shell | ||
2 | 4 | ||
3 | **************************** | 5 | **************************** |
4 | Setting Up and Using Toaster | 6 | Setting Up and Using Toaster |
@@ -8,28 +10,41 @@ Starting Toaster for Local Development | |||
8 | ====================================== | 10 | ====================================== |
9 | 11 | ||
10 | Once you have set up the Yocto Project and installed the Toaster system | 12 | Once you have set up the Yocto Project and installed the Toaster system |
11 | dependencies as described in the "`Preparing to Use | 13 | dependencies as described in the ":ref:`toaster-manual/toaster-manual-start:Preparing to Use |
12 | Toaster <#toaster-manual-start>`__" chapter, you are ready to start | 14 | Toaster`" chapter, you are ready to start |
13 | Toaster. | 15 | Toaster. |
14 | 16 | ||
15 | Navigate to the root of your | 17 | Navigate to the root of your |
16 | :term:`Source Directory` (e.g. ``poky``): $ | 18 | :term:`Source Directory` (e.g. ``poky``):: |
17 | cd poky Once in that directory, source the build environment script: $ | 19 | |
18 | source oe-init-build-env Next, from the build directory (e.g. | 20 | $ cd poky |
19 | ``poky/build``), start Toaster using this command: $ source toaster | 21 | |
20 | start You can now run your builds from the command line, or with Toaster | 22 | Once in that directory, source the build environment script:: |
21 | as explained in section "`Using the Toaster Web | 23 | |
22 | Interface <#using-the-toaster-web-interface>`__". | 24 | $ source oe-init-build-env |
25 | |||
26 | Next, from the build directory (e.g. | ||
27 | ``poky/build``), start Toaster using this command:: | ||
28 | |||
29 | $ source toaster start | ||
30 | |||
31 | You can now run your builds from the command line, or with Toaster | ||
32 | as explained in section | ||
33 | ":ref:`toaster-manual/toaster-manual-setup-and-use:using the toaster web interface`". | ||
23 | 34 | ||
24 | To access the Toaster web interface, open your favorite browser and | 35 | To access the Toaster web interface, open your favorite browser and |
25 | enter the following: http://127.0.0.1:8000 | 36 | enter the following:: |
37 | |||
38 | http://127.0.0.1:8000 | ||
26 | 39 | ||
27 | Setting a Different Port | 40 | Setting a Different Port |
28 | ======================== | 41 | ======================== |
29 | 42 | ||
30 | By default, Toaster starts on port 8000. You can use the ``WEBPORT`` | 43 | By default, Toaster starts on port 8000. You can use the ``WEBPORT`` |
31 | parameter to set a different port. For example, the following command | 44 | parameter to set a different port. For example, the following command |
32 | sets the port to "8400": $ source toaster start webport=8400 | 45 | sets the port to "8400":: |
46 | |||
47 | $ source toaster start webport=8400 | ||
33 | 48 | ||
34 | Setting Up Toaster Without a Web Server | 49 | Setting Up Toaster Without a Web Server |
35 | ======================================= | 50 | ======================================= |
@@ -54,8 +69,11 @@ Toaster environment. Before closing the environment, however, you should | |||
54 | allow a few minutes to ensure the complete transfer of its BitBake build | 69 | allow a few minutes to ensure the complete transfer of its BitBake build |
55 | statistics to the Toaster database. If you have a separate Toaster web | 70 | statistics to the Toaster database. If you have a separate Toaster web |
56 | server instance running, you can watch this command-line build’s | 71 | server instance running, you can watch this command-line build’s |
57 | progress and examine the results as soon as they are posted: $ source | 72 | progress and examine the results as soon as they are posted:: |
58 | toaster start noweb $ bitbake target $ source toaster stop | 73 | |
74 | $ source toaster start noweb | ||
75 | $ bitbake target | ||
76 | $ source toaster stop | ||
59 | 77 | ||
60 | Setting Up Toaster Without a Build Server | 78 | Setting Up Toaster Without a Build Server |
61 | ========================================= | 79 | ========================================= |
@@ -69,23 +87,27 @@ disabled. Doing so is useful for the following: | |||
69 | - Allowing only local command-line builds to be captured into the | 87 | - Allowing only local command-line builds to be captured into the |
70 | Toaster database. | 88 | Toaster database. |
71 | 89 | ||
72 | Use the following command to set up Toaster without a build server: $ | 90 | Use the following command to set up Toaster without a build server:: |
73 | source toaster start nobuild webport=port | 91 | |
92 | $ source toaster start nobuild webport=port | ||
74 | 93 | ||
75 | Setting up External Access | 94 | Setting up External Access |
76 | ========================== | 95 | ========================== |
77 | 96 | ||
78 | By default, Toaster binds to the loop back address (i.e. localhost), | 97 | By default, Toaster binds to the loop back address (i.e. ``localhost``), |
79 | which does not allow access from external hosts. To allow external | 98 | which does not allow access from external hosts. To allow external |
80 | access, use the ``WEBPORT`` parameter to open an address that connects | 99 | access, use the ``WEBPORT`` parameter to open an address that connects |
81 | to the network, specifically the IP address that your NIC uses to | 100 | to the network, specifically the IP address that your NIC uses to |
82 | connect to the network. You can also bind to all IP addresses the | 101 | connect to the network. You can also bind to all IP addresses the |
83 | computer supports by using the shortcut "0.0.0.0:port". | 102 | computer supports by using the shortcut "0.0.0.0:port". |
84 | 103 | ||
85 | The following example binds to all IP addresses on the host: $ source | 104 | The following example binds to all IP addresses on the host:: |
86 | toaster start webport=0.0.0.0:8400 This example binds to a specific IP | 105 | |
87 | address on the host's NIC: $ source toaster start | 106 | $ source toaster start webport=0.0.0.0:8400 |
88 | webport=192.168.1.1:8400 | 107 | |
108 | This example binds to a specific IP address on the host's NIC:: | ||
109 | |||
110 | $ source toaster start webport=192.168.1.1:8400 | ||
89 | 111 | ||
90 | The Directory for Cloning Layers | 112 | The Directory for Cloning Layers |
91 | ================================ | 113 | ================================ |
@@ -126,34 +148,43 @@ parameters. | |||
126 | To access the Django administration interface, you must create a | 148 | To access the Django administration interface, you must create a |
127 | superuser by following these steps: | 149 | superuser by following these steps: |
128 | 150 | ||
129 | 1. If you used ``pip3``, which is recommended, to set up the Toaster | 151 | #. If you used ``pip3``, which is recommended, to set up the Toaster |
130 | system dependencies, you need be sure the local user path is in your | 152 | system dependencies, you need be sure the local user path is in your |
131 | ``PATH`` list. To append the pip3 local user path, use the following | 153 | ``PATH`` list. To append the pip3 local user path, use the following |
132 | command: $ export PATH=$PATH:$HOME/.local/bin | 154 | command:: |
133 | 155 | ||
134 | 2. From the directory containing the Toaster database, which by default | 156 | $ export PATH=$PATH:$HOME/.local/bin |
157 | |||
158 | #. From the directory containing the Toaster database, which by default | ||
135 | is the :term:`Build Directory`, | 159 | is the :term:`Build Directory`, |
136 | invoke the ``createsuperuser`` command from ``manage.py``: $ cd | 160 | invoke the ``createsuperuser`` command from ``manage.py``:: |
137 | ~/poky/build $ ../bitbake/lib/toaster/manage.py createsuperuser | 161 | |
162 | $ cd ~/poky/build | ||
163 | $ ../bitbake/lib/toaster/manage.py createsuperuser | ||
138 | 164 | ||
139 | 3. Django prompts you for the username, which you need to provide. | 165 | #. Django prompts you for the username, which you need to provide. |
140 | 166 | ||
141 | 4. Django prompts you for an email address, which is optional. | 167 | #. Django prompts you for an email address, which is optional. |
142 | 168 | ||
143 | 5. Django prompts you for a password, which you must provide. | 169 | #. Django prompts you for a password, which you must provide. |
144 | 170 | ||
145 | 6. Django prompts you to re-enter your password for verification. | 171 | #. Django prompts you to re-enter your password for verification. |
146 | 172 | ||
147 | After completing these steps, the following confirmation message | 173 | After completing these steps, the following confirmation message |
148 | appears: Superuser created successfully. | 174 | appears:: |
175 | |||
176 | Superuser created successfully. | ||
149 | 177 | ||
150 | Creating a superuser allows you to access the Django administration | 178 | Creating a superuser allows you to access the Django administration |
151 | interface through a browser. The URL for this interface is the same as | 179 | interface through a browser. The URL for this interface is the same as |
152 | the URL used for the Toaster instance with "/admin" on the end. For | 180 | the URL used for the Toaster instance with "/admin" on the end. For |
153 | example, if you are running Toaster locally, use the following URL: | 181 | example, if you are running Toaster locally, use the following URL:: |
154 | http://127.0.0.1:8000/admin You can use the Django administration | 182 | |
155 | interface to set Toaster configuration parameters such as the build | 183 | http://127.0.0.1:8000/admin |
156 | directory, layer sources, default variable values, and BitBake versions. | 184 | |
185 | You can use the Django administration interface to set Toaster configuration | ||
186 | parameters such as the build directory, layer sources, default variable | ||
187 | values, and BitBake versions. | ||
157 | 188 | ||
158 | .. _toaster-setting-up-a-production-instance-of-toaster: | 189 | .. _toaster-setting-up-a-production-instance-of-toaster: |
159 | 190 | ||
@@ -175,12 +206,10 @@ Be sure you meet the following requirements: | |||
175 | 206 | ||
176 | .. note:: | 207 | .. note:: |
177 | 208 | ||
178 | You must comply with all Apache, | 209 | You must comply with all Apache, ``mod-wsgi``, and Mysql requirements. |
179 | mod-wsgi | ||
180 | , and Mysql requirements. | ||
181 | 210 | ||
182 | - Have all the build requirements as described in the "`Preparing to | 211 | - Have all the build requirements as described in the ":ref:`toaster-manual/toaster-manual-start:Preparing to |
183 | Use Toaster <#toaster-manual-start>`__" chapter. | 212 | Use Toaster`" chapter. |
184 | 213 | ||
185 | - Have an Apache webserver. | 214 | - Have an Apache webserver. |
186 | 215 | ||
@@ -188,17 +217,18 @@ Be sure you meet the following requirements: | |||
188 | 217 | ||
189 | - Use the Mysql database server. | 218 | - Use the Mysql database server. |
190 | 219 | ||
191 | - If you are using Ubuntu 16.04, run the following: $ sudo apt-get | 220 | - If you are using Ubuntu, run the following:: |
192 | install apache2 libapache2-mod-wsgi-py3 mysql-server python3-pip | 221 | |
193 | libmysqlclient-dev | 222 | $ sudo apt-get install apache2 libapache2-mod-wsgi-py3 mysql-server python3-pip libmysqlclient-dev |
223 | |||
224 | - If you are using Fedora or a RedHat distribution, run the | ||
225 | following:: | ||
194 | 226 | ||
195 | - If you are using Fedora 24 or a RedHat distribution, run the | 227 | $ sudo dnf install httpd python3-mod_wsgi python3-pip mariadb-server mariadb-devel python3-devel |
196 | following: $ sudo dnf install httpd python3-mod_wsgi python3-pip | ||
197 | mariadb-server mariadb-devel python3-devel | ||
198 | 228 | ||
199 | - If you are using openSUSE Leap 42.1, run the following: $ sudo zypper | 229 | - If you are using openSUSE, run the following:: |
200 | install apache2 apache2-mod_wsgi-python3 python3-pip mariadb | 230 | |
201 | mariadb-client python3-devel | 231 | $ sudo zypper install apache2 apache2-mod_wsgi-python3 python3-pip mariadb mariadb-client python3-devel |
202 | 232 | ||
203 | .. _toaster-installation-steps: | 233 | .. _toaster-installation-steps: |
204 | 234 | ||
@@ -207,19 +237,24 @@ Installation | |||
207 | 237 | ||
208 | Perform the following steps to install Toaster: | 238 | Perform the following steps to install Toaster: |
209 | 239 | ||
210 | 1. Create toaster user and set its home directory to | 240 | #. Create toaster user and set its home directory to |
211 | ``/var/www/toaster``: $ sudo /usr/sbin/useradd toaster -md | 241 | ``/var/www/toaster``:: |
212 | /var/www/toaster -s /bin/false $ sudo su - toaster -s /bin/bash | 242 | |
243 | $ sudo /usr/sbin/useradd toaster -md /var/www/toaster -s /bin/false | ||
244 | $ sudo su - toaster -s /bin/bash | ||
213 | 245 | ||
214 | 2. Checkout a copy of ``poky`` into the web server directory. You will | 246 | #. Checkout a copy of ``poky`` into the web server directory. You will |
215 | be using ``/var/www/toaster``: $ git clone | 247 | be using ``/var/www/toaster``:: |
216 | git://git.yoctoproject.org/poky $ git checkout DISTRO_NAME_NO_CAP | ||
217 | 248 | ||
218 | 3. Install Toaster dependencies using the --user flag which keeps the | 249 | $ git clone git://git.yoctoproject.org/poky |
219 | Python packages isolated from your system-provided packages: $ cd | 250 | $ git checkout &DISTRO_NAME_NO_CAP; |
220 | /var/www/toaster/ $ pip3 install --user -r | 251 | |
221 | ./poky/bitbake/toaster-requirements.txt $ pip3 install --user | 252 | #. Install Toaster dependencies using the --user flag which keeps the |
222 | mysqlclient | 253 | Python packages isolated from your system-provided packages:: |
254 | |||
255 | $ cd /var/www/toaster/ | ||
256 | $ pip3 install --user -r ./poky/bitbake/toaster-requirements.txt | ||
257 | $ pip3 install --user mysqlclient | ||
223 | 258 | ||
224 | .. note:: | 259 | .. note:: |
225 | 260 | ||
@@ -227,35 +262,60 @@ Perform the following steps to install Toaster: | |||
227 | Alternatively, you can use your operating system's package | 262 | Alternatively, you can use your operating system's package |
228 | manager to install the packages. | 263 | manager to install the packages. |
229 | 264 | ||
230 | 4. Configure Toaster by editing | 265 | #. Configure Toaster by editing |
231 | ``/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py`` | 266 | ``/var/www/toaster/poky/bitbake/lib/toaster/toastermain/settings.py`` |
232 | as follows: | 267 | as follows: |
233 | 268 | ||
234 | - Edit the | 269 | - Edit the |
235 | `DATABASES <https://docs.djangoproject.com/en/1.11/ref/settings/#databases>`__ | 270 | `DATABASES <https://docs.djangoproject.com/en/2.2/ref/settings/#databases>`__ |
236 | settings: DATABASES = { 'default': { 'ENGINE': | 271 | settings: |
237 | 'django.db.backends.mysql', 'NAME': 'toaster_data', 'USER': | 272 | |
238 | 'toaster', 'PASSWORD': 'yourpasswordhere', 'HOST': 'localhost', | 273 | .. code-block:: python |
239 | 'PORT': '3306', } } | 274 | |
275 | DATABASES = { | ||
276 | 'default': { | ||
277 | 'ENGINE': 'django.db.backends.mysql', | ||
278 | 'NAME': 'toaster_data', | ||
279 | 'USER': 'toaster', | ||
280 | 'PASSWORD': 'yourpasswordhere', | ||
281 | 'HOST': 'localhost', | ||
282 | 'PORT': '3306', | ||
283 | } | ||
284 | } | ||
240 | 285 | ||
241 | - Edit the | 286 | - Edit the |
242 | `SECRET_KEY <https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-SECRET_KEY>`__: | 287 | `SECRET_KEY <https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-SECRET_KEY>`__: |
243 | SECRET_KEY = 'your_secret_key' | 288 | |
289 | .. code-block:: python | ||
290 | |||
291 | SECRET_KEY = 'your_secret_key' | ||
244 | 292 | ||
245 | - Edit the | 293 | - Edit the |
246 | `STATIC_ROOT <https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-STATIC_ROOT>`__: | 294 | `STATIC_ROOT <https://docs.djangoproject.com/en/2.2/ref/settings/#std:setting-STATIC_ROOT>`__: |
247 | STATIC_ROOT = '/var/www/toaster/static_files/' | 295 | |
248 | 296 | .. code-block:: python | |
249 | 5. Add the database and user to the ``mysql`` server defined earlier: $ | 297 | |
250 | mysql -u root -p mysql> CREATE DATABASE toaster_data; mysql> CREATE | 298 | STATIC_ROOT = '/var/www/toaster/static_files/' |
251 | USER 'toaster'@'localhost' identified by 'yourpasswordhere'; mysql> | 299 | |
252 | GRANT all on toaster_data.\* to 'toaster'@'localhost'; mysql> quit | 300 | #. Add the database and user to the ``mysql`` server defined earlier:: |
253 | 301 | ||
254 | 6. Get Toaster to create the database schema, default data, and gather | 302 | $ mysql -u root -p |
255 | the statically-served files: $ cd /var/www/toaster/poky/ $ | 303 | mysql> CREATE DATABASE toaster_data; |
256 | ./bitbake/lib/toaster/manage.py migrate $ TOASTER_DIR=`pwd\` | 304 | mysql> CREATE USER 'toaster'@'localhost' identified by 'yourpasswordhere'; |
257 | TEMPLATECONF='poky' \\ ./bitbake/lib/toaster/manage.py checksettings | 305 | mysql> GRANT all on toaster_data.\* to 'toaster'@'localhost'; |
258 | $ ./bitbake/lib/toaster/manage.py collectstatic In the previous | 306 | mysql> quit |
307 | |||
308 | #. Get Toaster to create the database schema, default data, and gather | ||
309 | the statically-served files:: | ||
310 | |||
311 | $ cd /var/www/toaster/poky/ | ||
312 | $ ./bitbake/lib/toaster/manage.py migrate | ||
313 | $ TOASTER_DIR=`pwd\` TEMPLATECONF='poky' \ | ||
314 | ./bitbake/lib/toaster/manage.py checksettings | ||
315 | $ ./bitbake/lib/toaster/manage.py collectstatic | ||
316 | |||
317 | |||
318 | In the previous | ||
259 | example, from the ``poky`` directory, the ``migrate`` command | 319 | example, from the ``poky`` directory, the ``migrate`` command |
260 | ensures the database schema changes have propagated correctly (i.e. | 320 | ensures the database schema changes have propagated correctly (i.e. |
261 | migrations). The next line sets the Toaster root directory | 321 | migrations). The next line sets the Toaster root directory |
@@ -264,80 +324,145 @@ Perform the following steps to install Toaster: | |||
264 | ``TEMPLATECONF`` value reflects the contents of | 324 | ``TEMPLATECONF`` value reflects the contents of |
265 | ``poky/.templateconf``, and by default, should include the string | 325 | ``poky/.templateconf``, and by default, should include the string |
266 | "poky". For more information on the Toaster configuration file, see | 326 | "poky". For more information on the Toaster configuration file, see |
267 | the "`Configuring Toaster <#configuring-toaster>`__" section. | 327 | the ":ref:`toaster-manual/toaster-manual-reference:Configuring Toaster`" section. |
268 | 328 | ||
269 | This line also runs the ``checksettings`` command, which configures | 329 | This line also runs the ``checksettings`` command, which configures |
270 | the location of the Toaster :term:`Build Directory`. | 330 | the location of the Toaster :term:`Build Directory`. |
271 | The Toaster | 331 | The Toaster |
272 | root directory ``TOASTER_DIR`` determines where the Toaster build | 332 | root directory ``TOASTER_DIR`` determines where the Toaster build |
273 | directory is created on the file system. In the example above, | 333 | directory is created on the file system. In the example above, |
274 | ``TOASTER_DIR`` is set as follows: /var/www/toaster/poky This | 334 | ``TOASTER_DIR`` is set as follows:: |
275 | setting causes the Toaster build directory to be: | 335 | |
276 | /var/www/toaster/poky/build | 336 | /var/www/toaster/poky |
337 | |||
338 | |||
339 | This setting causes the Toaster build directory to be:: | ||
340 | |||
341 | /var/www/toaster/poky/build | ||
277 | 342 | ||
278 | Finally, the ``collectstatic`` command is a Django framework command | 343 | Finally, the ``collectstatic`` command is a Django framework command |
279 | that collects all the statically served files into a designated | 344 | that collects all the statically served files into a designated |
280 | directory to be served up by the Apache web server as defined by | 345 | directory to be served up by the Apache web server as defined by |
281 | ``STATIC_ROOT``. | 346 | ``STATIC_ROOT``. |
282 | 347 | ||
283 | 7. Test and/or use the Mysql integration with Toaster’s Django web | 348 | #. Test and/or use the Mysql integration with Toaster’s Django web |
284 | server. At this point, you can start up the normal Toaster Django | 349 | server. At this point, you can start up the normal Toaster Django |
285 | web server with the Toaster database in Mysql. You can use this web | 350 | web server with the Toaster database in Mysql. You can use this web |
286 | server to confirm that the database migration and data population | 351 | server to confirm that the database migration and data population |
287 | from the Layer Index is complete. | 352 | from the Layer Index is complete. |
288 | 353 | ||
289 | To start the default Toaster Django web server with the Toaster | 354 | To start the default Toaster Django web server with the Toaster |
290 | database now in Mysql, use the standard start commands: $ source | 355 | database now in Mysql, use the standard start commands:: |
291 | oe-init-build-env $ source toaster start Additionally, if Django is | 356 | |
292 | sufficient for your requirements, you can use it for your release | 357 | $ source oe-init-build-env |
293 | system and migrate later to Apache as your requirements change. | 358 | $ source toaster start |
294 | 359 | ||
295 | 8. Add an Apache configuration file for Toaster to your Apache web | 360 | Additionally, if Django is sufficient for your requirements, you can use |
361 | it for your release system and migrate later to Apache as your | ||
362 | requirements change. | ||
363 | |||
364 | #. Add an Apache configuration file for Toaster to your Apache web | ||
296 | server's configuration directory. If you are using Ubuntu or Debian, | 365 | server's configuration directory. If you are using Ubuntu or Debian, |
297 | put the file here: /etc/apache2/conf-available/toaster.conf If you | 366 | put the file here:: |
298 | are using Fedora or RedHat, put it here: | 367 | |
299 | /etc/httpd/conf.d/toaster.conf If you are using OpenSUSE, put it | 368 | /etc/apache2/conf-available/toaster.conf |
300 | here: /etc/apache2/conf.d/toaster.conf Following is a sample Apache | 369 | |
301 | configuration for Toaster you can follow: Alias /static | 370 | |
302 | /var/www/toaster/static_files <Directory | 371 | If you are using Fedora or RedHat, put it here:: |
303 | /var/www/toaster/static_files> <IfModule mod_access_compat.c> Order | 372 | |
304 | allow,deny Allow from all </IfModule> <IfModule | 373 | /etc/httpd/conf.d/toaster.conf |
305 | !mod_access_compat.c> Require all granted </IfModule> </Directory> | 374 | |
306 | <Directory /var/www/toaster/poky/bitbake/lib/toaster/toastermain> | 375 | If you are using OpenSUSE, put it here:: |
307 | <Files "wsgi.py"> Require all granted </Files> </Directory> | 376 | |
308 | WSGIDaemonProcess toaster_wsgi | 377 | /etc/apache2/conf.d/toaster.conf |
309 | python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/.local/lib/python3.4/site-packages | 378 | |
310 | WSGIScriptAlias / | 379 | Following is a sample Apache configuration for Toaster you can follow: |
311 | "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py" | 380 | |
312 | <Location /> WSGIProcessGroup toaster_wsgi </Location> If you are | 381 | .. code-block:: apache |
313 | using Ubuntu or Debian, you will need to enable the config and | 382 | |
314 | module for Apache: $ sudo a2enmod wsgi $ sudo a2enconf toaster $ | 383 | Alias /static /var/www/toaster/static_files |
315 | chmod +x bitbake/lib/toaster/toastermain/wsgi.py Finally, restart | 384 | <Directory /var/www/toaster/static_files> |
316 | Apache to make sure all new configuration is loaded. For Ubuntu, | 385 | <IfModule mod_access_compat.c> |
317 | Debian, and OpenSUSE use: $ sudo service apache2 restart For Fedora | 386 | Order allow,deny |
318 | and RedHat use: $ sudo service httpd restart | 387 | Allow from all |
319 | 388 | </IfModule> | |
320 | 9. Prepare the systemd service to run Toaster builds. Here is a sample | 389 | <IfModule !mod_access_compat.c> |
321 | configuration file for the service: [Unit] Description=Toaster | 390 | Require all granted |
322 | runbuilds [Service] Type=forking User=toaster | 391 | </IfModule> |
323 | ExecStart=/usr/bin/screen -d -m -S runbuilds | 392 | </Directory> |
324 | /var/www/toaster/poky/bitbake/lib/toaster/runbuilds-service.sh start | 393 | |
325 | ExecStop=/usr/bin/screen -S runbuilds -X quit | 394 | <Directory /var/www/toaster/poky/bitbake/lib/toaster/toastermain> |
326 | WorkingDirectory=/var/www/toaster/poky [Install] | 395 | <Files "wsgi.py"> |
327 | WantedBy=multi-user.target Prepare the ``runbuilds-service.sh`` | 396 | Require all granted |
328 | script that you need to place in the | 397 | </Files> |
398 | </Directory> | ||
399 | |||
400 | WSGIDaemonProcess toaster_wsgi python-path=/var/www/toaster/poky/bitbake/lib/toaster:/var/www/toaster/.local/lib/python3.4/site-packages | ||
401 | WSGIScriptAlias / "/var/www/toaster/poky/bitbake/lib/toaster/toastermain/wsgi.py" | ||
402 | <Location /> | ||
403 | WSGIProcessGroup toaster_wsgi | ||
404 | </Location> | ||
405 | |||
406 | |||
407 | If you are using Ubuntu or Debian, you will need to enable the config and | ||
408 | module for Apache:: | ||
409 | |||
410 | $ sudo a2enmod wsgi | ||
411 | $ sudo a2enconf toaster | ||
412 | $ chmod +x bitbake/lib/toaster/toastermain/wsgi.py | ||
413 | |||
414 | Finally, restart Apache to make sure all new configuration is loaded. For Ubuntu, | ||
415 | Debian, and OpenSUSE use:: | ||
416 | |||
417 | $ sudo service apache2 restart | ||
418 | |||
419 | For Fedora and RedHat use:: | ||
420 | |||
421 | $ sudo service httpd restart | ||
422 | |||
423 | #. Prepare the systemd service to run Toaster builds. Here is a sample | ||
424 | configuration file for the service: | ||
425 | |||
426 | .. code-block:: ini | ||
427 | |||
428 | [Unit] | ||
429 | Description=Toaster runbuilds | ||
430 | |||
431 | [Service] | ||
432 | Type=forking User=toaster | ||
433 | ExecStart=/usr/bin/screen -d -m -S runbuilds /var/www/toaster/poky/bitbake/lib/toaster/runbuilds-service.sh start | ||
434 | ExecStop=/usr/bin/screen -S runbuilds -X quit | ||
435 | WorkingDirectory=/var/www/toaster/poky | ||
436 | |||
437 | [Install] | ||
438 | WantedBy=multi-user.target | ||
439 | |||
440 | |||
441 | Prepare the ``runbuilds-service.sh`` script that you need to place in the | ||
329 | ``/var/www/toaster/poky/bitbake/lib/toaster/`` directory by setting | 442 | ``/var/www/toaster/poky/bitbake/lib/toaster/`` directory by setting |
330 | up executable permissions: #!/bin/bash #export | 443 | up executable permissions:: |
331 | http_proxy=http://proxy.host.com:8080 #export | 444 | |
332 | https_proxy=http://proxy.host.com:8080 #export | 445 | #!/bin/bash |
333 | GIT_PROXY_COMMAND=$HOME/bin/gitproxy cd ~/poky/ source | 446 | |
334 | ./oe-init-build-env build source ../bitbake/bin/toaster $1 noweb [ | 447 | #export http_proxy=http://proxy.host.com:8080 |
335 | "$1" == 'start' ] && /bin/bash | 448 | #export https_proxy=http://proxy.host.com:8080 |
336 | 449 | #export GIT_PROXY_COMMAND=$HOME/bin/gitproxy | |
337 | 10. Run the service: # service runbuilds start Since the service is | 450 | cd ~/poky/ |
338 | running in a detached screen session, you can attach to it using | 451 | source ./oe-init-build-env build |
339 | this command: $ sudo su - toaster $ screen -rS runbuilds You can | 452 | source ../bitbake/bin/toaster $1 noweb |
340 | detach from the service again using "Ctrl-a" followed by "d" key | 453 | [ "$1" == 'start' ] && /bin/bash |
454 | |||
455 | #. Run the service:: | ||
456 | |||
457 | $ sudo service runbuilds start | ||
458 | |||
459 | Since the service is running in a detached screen session, you can | ||
460 | attach to it using this command:: | ||
461 | |||
462 | $ sudo su - toaster | ||
463 | $ screen -rS runbuilds | ||
464 | |||
465 | You can detach from the service again using "Ctrl-a" followed by "d" key | ||
341 | combination. | 466 | combination. |
342 | 467 | ||
343 | You can now open up a browser and start using Toaster. | 468 | You can now open up a browser and start using Toaster. |
@@ -432,8 +557,9 @@ Additional Information About the Local Yocto Project Release | |||
432 | ------------------------------------------------------------ | 557 | ------------------------------------------------------------ |
433 | 558 | ||
434 | This section only applies if you have set up Toaster for local | 559 | This section only applies if you have set up Toaster for local |
435 | development, as explained in the "`Starting Toaster for Local | 560 | development, as explained in the |
436 | Development <#starting-toaster-for-local-development>`__" section. | 561 | ":ref:`toaster-manual/toaster-manual-setup-and-use:starting toaster for local development`" |
562 | section. | ||
437 | 563 | ||
438 | When you create a project in Toaster, you will be asked to provide a | 564 | When you create a project in Toaster, you will be asked to provide a |
439 | name and to select a Yocto Project release. One of the release options | 565 | name and to select a Yocto Project release. One of the release options |