ericpaulbishop / yourchili Goto Github PK
View Code? Open in Web Editor NEWBash script library for configuring Debian/Ubuntu VPS hosting, with emphasis on ChiliProject deployment
License: Other
Bash script library for configuring Debian/Ubuntu VPS hosting, with emphasis on ChiliProject deployment
License: Other
YourChili (formerly Redcloud) is a bash script library for deploying ChiliProject (www.chiliproject.org) in a Cloud / VPS hosting environment with Nginx and Passenger. It has been tested with Ubuntu 10.10. NOTE: What follows is the old documentation, from about a year ago. It is no longer compatible with the latest version, and will be re-written in the near future. One of the primary problems of deploying Redmine is integrating repository hosting with Redmine. There are many ways of hosting a SVN or Git repository so that they work with Redmine, and this variability can make deployment less than straightforward. Redcloud provides a very specific structure for repository hosting and Redmine integration, so that it is easy to deploy multiple or single repository Redmine configurations. Additionally, multiple Redmine installations can be configured for different virtual hosts. Both Git and SVN are supported, but other version control systems are not. It is strongly suggested that you install PHP-fpm along with Nginx (it's just an extra variable to the nginx install function), unless you are sure you won't ever want to host a PHP site from this machine. However, be aware that installing this may take a significant amount of extra time (20-30 minutes) to compile. The library also includes functions for upgrading the system, setting an improved colored bash prompt, adding system users, setting up a mail server, configuring periodic backups, restoring from backups and configuring a simple firewall (ufw). A significant portion of this library was derived from Linode Stack Script libraries. In particular code from the official StackScript Bash Library and the LEMP_lib library by rnolen was used. Redcloud is licensed under GPL v2, users but must also observe the BSD license on this code carried by the Linode script. For full license text see LICENSE.txt file. Redcloud sets up a directory structure under /srv as follows: /srv/www The root directory for the web server /srv/www/[virtual_host_name]/public_html/ This is the root directory for each virtual host /srv/projects/redmine This directory contains redmine installations /srv/projects/git This directory is the git user home directory (for gitosis). /srv/projects/git/repositories This is where the actual git repositories are located /srv/projects/git/grack Grack is a rails app that provides "Smart Http" access for Git /srv/projects/svn This directory contains Subversion repositories /srv/mail/ Root location of virtual mailboxes if you configure a mail server Nginx configuration files can be found at: /etc/nginx Subversion support requires apache installation for DAV support, while Git can be hosted with Nginx only. In the case of SVN Nginx acts as a reverse proxy. When rails apps are activated a symlink is created from the relevant directory to somewhere under the virtual host directory. For every virtual host https access for version control and Redmine is configured, via a self-signed certificate located in: /etc/nginx/ssl Be warned this is a self-signed certificate, which means browsers/svn/git will initially complain about authenticity. However, it allows access to Redmine/Git/Svn without sending a password in clear-text. The install.sh script installs the Redcloud library to /usr/local/lib/redcloud by default. Then, to use redcloud, you can just source /usr/local/lib/redcloud/redmine.sh For an example script for configuring a Redmine setup see the init.sh script. This is a heavily-commented script which can be run to configure a system. The restore.sh script is another heavily commented example script that illustrates how to restore a system from a backup performed by Redcloud.
Hey Eric - We're making move to Chili from Redmine and I was excited to try YourChill on our new server. Is it generally ready to go for a piss-poor sysadmin like me? You mention the README that the docs need updating. Wondering if you could provide even a short outline of the steps to run the script, options, etc?
Thanks!
When running the init_ngix_stack.sh the install fails with the following error:
Restarting nginx: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
nginx.
I see that Apache is installed and running (for SVN support?)
How can this be fixed?
I just tested out your 2012 branch with ubuntu 10.10 and had some mysql issues. I tested it using a "filled out" chili_test.sh.
I had this error: no such file to load -- mysql (MissingSourceFile)
To get it to connect I had to do: sudo gem install mysql -- --with-mysql-config=/usr/bin/mysql_config
BUT, I didn't have database or user so it still didnt work.
Can you clue us in as to why the script compiles common elements like openssl and curses from scratch? Half of the power of a Debian/Ubuntu based system is that package management simplifies updates and system checks... not to mention that using a package manager is MUCH faster.
I'm sure you have a good reason for compiling these from scratch, can you clue us in?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.