The Doctor's to-do list: Difference between revisions
From HacDC Wiki
No edit summary |
No edit summary |
||
Line 72: | Line 72: | ||
** only start MySQL if it's not running already for the ones that don't | ** only start MySQL if it's not running already for the ones that don't | ||
* Write a web app that (de-)configures gateway mode for babeld. I think it's a matter of pushing a route to 0.0.0.0 or not, have to read up on it. | * Write a web app that (de-)configures gateway mode for babeld. I think it's a matter of pushing a route to 0.0.0.0 or not, have to read up on it. | ||
* Convert the Slackware MySQL package into a Porteus package. | |||
** Review the ./configure options in the .Slackbuild script to see | |||
*** what we get for free | |||
*** what we have to add | |||
*** what we have to take out |
Revision as of 05:22, 3 September 2011
Stuff will be stricken out as I finish it. If anyone wants to jump in and help me with this, by all means do so, just put your initials at the end so I know who did what.
In no particular order, this is the stuff I want to accomplish over Labor Day weekend:
- Figure out a good build configuration for nginx
- tentative: ./configure --prefix=/usr --conf-path=/etc/nginx --pid-path=/var/run --user=www --group=www --with-http_ssl_module --http-fastcgi-temp-path=/tmp/fastcgi_temp --with-cpu-opt=pentium --without-http_empty_gif_module, --with-http_stub_status_module
- Test that particular build of nginx against a couple of PHP apps.
- Modify the existing nginx .Slackbuild script with the configuration I work out.
- Build nginx packages and check them into SVN.
- Figure out a good PHP build configuration that
- for optimal FastCGI compatibility, needs to be >= v5.3.3
- runs under FastCGI
- includes SQLite
- includes MySQL
- Test that particular build of PHP against a couple of apps.
- Write a .Slackbuild script for PHP with the configuration I work out.
- Build PHP packages and check them into SVN.
- Set up an account on the Porteus forums and post the link to our SVN repo.
- Develop a configuration for nginx that
- is lightweight
- somewhat optimized
- modular, so that each app has its own included config file
- Write a web app for the control panel that
- Can start and stop nginx on demand
- store its configuration in a database
- move sub-config files for nginx that represent PHP apps into and out of the /etc/nginx/conf.d directory
- force nginx to reload its config files every time an app is (de-)configured
- Get OpenSSL working in nginx
- Write an initscript that
- checks for the presence of a node's SSL cert
- terminates if one is found
- generates one using the IPv6 address of the node as its hostname if one isn't found
- Set Porteus up to set its hostname to the IPv6 address of the node.
- Write a PHP app that
- displays a "Hello, User!" message
- displays links to apps hosted on the node which happen to be active
- removes links to apps hosted on the node that are deactivated
- I don't know PHP... can we find someone who does?
- Would have to reference the SQLite database which keeps track of the active and inactive web apps and modifies the output accordingly
- has to be mobile-friendly
- Install crypto.cat on my development instance
- requires PHP
- will need its UI tweaked to be more mobile-friendly
- Create a crypto.cat Porteus package and check it into SVN
- Install etherpad-lite on my development instance
- requires node.js, for which there exists a Slackpack
- build a Slackpack of node.js, convert into Porteus package, check everything into SVN
- write an initscript that can start up crypto.cat when called but not at boot
- will have to be controlled by the control panel, store its configuration in a database
- write a sub-config file for nginx that passes through the /pad URL to localhost:9001
- requires NPM
- that will need to be packaged and checked in separately, I think.
- run it in verbose mode to keep an eye on it
- if it installs more stuff, we should bundle the whole mess into the NPM Porteus package
- really should run as an unprivileged user
- really should listen on the loopback interface only
- pay attention to the reverse-proxy howto for nginx!
- have to start it by hand a few times to figure out how to automate and package it
- requires node.js, for which there exists a Slackpack
- install status.neet on my development instance
- requires PHP, MySQL
- nginx must have URL rewriting available
- PHP must have support for Curl, XMLwriter, MySQL, GD, mbstring, gettext (all required for status.net), SQLite (to read configuration databases)
- nginx installation instructions!
- will need to pre-configure it for security and usability
- need to make the mobile skin the default and erase the others to free up disk space
- will need to write a sub-config file for nginx
- configure for longer messages - 560 characters? 700 characters
- configure to make it easy to set up accounts on a node - no e-mail verification
- enable image upload and display
- Write a dependency manager for apps
- some web apps require MySQL, some don't
- only start MySQL if it's not running already for the ones that don't
- Write a web app that (de-)configures gateway mode for babeld. I think it's a matter of pushing a route to 0.0.0.0 or not, have to read up on it.
- Convert the Slackware MySQL package into a Porteus package.
- Review the ./configure options in the .Slackbuild script to see
- what we get for free
- what we have to add
- what we have to take out
- Review the ./configure options in the .Slackbuild script to see