Easy setup wizard for Ruby-on-Rails app + web server on windows - windows

I'm developing a Ruby-on-Rails app which uses MS SQL Server db. I will need to automate the deployment to Windows servers because it will be distributed through different channels and the setup needs to be as automatic as possible. I have read that IIS is not a good solution so the setup process would need to install a web server (apache, Nginx or thin). I haven't used JRuby but I have heard it might make matters simpler on Windows.
Is there any good resources, software packages or suggestions on how this can be solved?
Johann

Related

Can the CPU performance be monitored on the server using external tools without installing any software installed in the server, using the server IP

Is there a way we can monitor the CPU utilisation of a linux server where my website has been hosted using any external tools available without installing any software on the server (i.e just using the IP address of the server).
Please let me know if that would be possible.
If your web tool includes some kind of performance monitor plugin you might set it up on a hidden page. But your tool might also include some kind of monitoring for your site.
But how much you can use the data you get returned is another matter as you most likely are run in a Docker in a WM that is optimal for the provider (and not for you).

Redmine on Windows 8

Trying to install Redmine on Windows 8 on this tutorial. Getting this errors:
Tried Bitnami's installer too, but I already have IIS Web Server and don't need the bundled Apache webserver. The installer doesn't give me to choose it's components. It installs Apache by default. So, Bitnami's Redmine is not for me.
What am I missing?
Is there any other good bug & request tracking software? Please don't Google and advise me to some random results. Advise something that you used and really good as Redmine
Once you get the error above, make sure that new WebSite's AppPool has write access to site's folder on the harddrive to complete the install process.
Then open the website in a browser and the installation will complete.
Set security accordingly after the install completes.
Use WebIssues multi-platform bug & request tracking software that fits all your needs instead of Redmine.
WebIssues is an open source, multi-platform system for issue tracking and team collaboration. It can be used to store, share and track issues with various attributes, comments and file attachments. It is easy to install and use but has many capabilities and is highly customizable.
Main features:
The Desktop Client application can run natively on Windows, Linux
and OS X
The Web Client can be used to access the system using a web browser
The server can be installed on any host with PHP 5.2 or newer and
MySQL, PostgreSQL or SQL Server
Issues can be filtered using public and personal views with
configurable filtering criteria
Email notifications can be sent and the Desktop CLient can
periodically check for new and modified issues meeting various
criteria
Various reports can be printed directly from the Desktop Client or
exported as HTML and PDF documents

WAMP vs individually installing PHP, Apache, and MySQL

I am totally new to programming and to some new technologies. Right now I am using WAMP on my Windows Vista. For me, using WAMP is very convenient because I am gonna install once and no need for complicated configuration.
I was OK with it until someone told me that it's not good to use WAMP, EasyPHP, XAMPP, and MAMP because if one of the components such as MySQL crashes it won't work anymore. He said that it's best to install them separately and do a pain in the ass configure later.
Please advice.
For development and small low volume sites WAMP is just fine!.
If you are not reasonably experienced with installing configuring Apache, php and whatever SQL you are using then a WAMP package is still the better option as a suboptimal configuration is better than a broken one.
Once you are deploying to production and need to deal with larger transaction volumes and security issues then you should really install the components separately and custom configure for your particular needs.
However realistically if you get as far as a small/medium volume production application it will probably be deployed on a rented application infrastructure where all this will be done for you.
So yes stick with WAMP. Time is better spent getting your App right than learning the esoteric settings in the various config files.
WAMP has a clear goal: to provide a usable PHP environment directly out of the box. 0 configuration needed. 0 knowledge needed. You click and it works. If you are a newcomer, this is an obvious choice.
Configuring complex software like Apache and PHP is really difficult for a newcomer. If you're not actually going to use WAMP in a production environment, there is no reason you would have to touch the default configuration.
Making a separate installation for each of those components just doesn't make sense if you're discovering programming. When you're more experienced, you'll certainly enjoy editing obscure configuration files on a distant machine.
My advice is to go for WAMP on your development PC.
I don't think that the 'crash argument' is valid. It makes no difference if you install a bundle or single component - the problem is find the cause and to fix it. The bundles are designed for an easy start, the price to pay is that the configuration isn't meant for production use. I would prefer to learn using a local bundle and apply my knowledge/skills when I configure a production server (without any pain, because then I can).
WAMP--Windows Apache MySQL PHP
XAMPP--X(Multi OS) Apache MySQL PHP Perl
Wamp is better for newbies, To install, customize easily and learn the basic things in user friendly. Mainly on enabling the dll's in wamp is more easy than Xampp. But it will create many problems as kind of, when we restart the server it may not restarted properly and you need to do additional thing as restart your system or need to re-install wamp. The main drawback is, it support Windows Alone. Normally nowadays everyone prefer to go with Linux server as it have more security purpose. Hence if u develop using wamp, its useless for Linux Production Environment.
So i would suggest Xampp and its also a developer's choice.
It have more features than Wamp,
they are:
Tomcat
Perl
Supports Multi-OS
Filezilla FTP
PHP4
PHP5
It is better to restart the server separately for MySQL, Apache, Mercury, FTP.
For enabling the dll's in Xampp is not a hard task for developer and its a stable server.

In what OS should I host subversion?

I have decided to go with Subversion for a source control repository for my personal and side projects and I'm now trying to decide what OS to use. Currently my file server for my home network is Windows 7 beta. I'm wondering if I should wipe it and install Windows Server 2008 instead? Basically I'd like to know if there are things I could take advantage with a server OS that I can't with Windows 7. First thing that comes to mind is accessing subversion remotely with a VPN connection.
I'm a .net developer, but have dabbled in Linux a bit so I'm not completely turned off to the idea of an ubuntu or debian server...
I imagine the installation and configuration process might go off with fewer hitches if installed on Linux, just because of the package management, but that's assuming some experience with the package system of $whatever_distro. If you're comfortable with Windows, Subversion works perfectly well on there. I've set it up on both, but prefer the Linux installation process (easier Apache integration, in my view), but I had pre-existing Linux experience.
If you're familiar with Windows, I bet you'll find the installation and configuration process easier there. As others have said, many of the tools are cross-platform.
You can run a Subversion server on Windows or Linux (or whatever) so it really doesn't matter. Pick whichever one you already have and feel most comfortable with. Since you are a Windows developer I see no real reason to toss Linux into the mix though.
If your goal is to minimize the amount of work you put into the maintenance of subversion, go with the OS you are most comfortable with. Many maintenance scripts, and subversion hooks are written and available in perl and python which are available for both windows and linux.
One advantage to the Windows server OSes over their client counterparts is that the client OSes are limited as to the number of inbound connections. If you are going to be the only person working on the repo, this may not make a difference. However, if there are multiple people, then this would be an issue. XP Pro/Vista Ultimate are limited by Microsoft to 10 inbound connections. I cannot speak for Windows 7.
To make life easy, try VisualSVN Server. For personal projects there's no reason to setup a separate server just for SVN.
Windows 7 will be able to host Subversion with no problems whatsoever..
If your file-server is already setup and working under Windows 7, I'd say stick with that.. Adding SVN is no reason to install a new OS
You don't need a server at all to use subversion.
If you've already got a file server on your home network, and you're doing this only for you and your personal projects, just use a subversion client such as TortoiseSVN and create your repository (or repositories) on your file server via network share (or mapped network drive, etc).
I wouldn't recommend this for multi-user setups (unless each has their own repository), but for a single user this is the simplest option. And using this approach, to answer your question, you wouldn't gain anything by switching to a server OS such as Windows Server 2008.
I'd actually recommend going with a hosted Subversion provider instead of setting up Subversion on Windows or getting a second server for that purpose. I work for ProjectLocker, but if you Google "subversion hosting", you'll see there are a number of providers that offer free or reasonably priced solutions. The advantages:
It's a hosting provider's primary job to keep your code safe, secure, and accessible, so they focus on uptime, backups, and security monitoring so you don't have to
You don't have to learn how to be a system administrator or Subversion administrator; several providers have user interfaces that make it easy to manage users and permissions.
Hosting instead of DIY lets you focus on what you actually care about: writing great software
I suggest you take a look at ProjectLocker and some of the other providers and decide which one is right for you. You may decide that doing it yourself is the best option for you, but for many people in your situation, a hosted solution has met their needs.

What's the best way to develop against WordPress on Windows when you already have IIS/SQL Server installed?

If you want to develop against WordPress (i.e., have a local instance running on your machine so you can develop themes, get blogs and sites laid out, etc.) and you're running Windows on your development machine with IIS and SQL Server already installed, what's the best way to do it?
I found a method online which sets up a little "mini" server on Windows running instances of Apache and MySQL but they didn't advise using it on a machine with IIS already installed. Obviously one could install Apache and MySQL and do it that way but given what Windows affords you (i.e., methods of running PHP in IIS - I think Windows Server 2008 is even optimized for this), is that the best way? Are there ways to run WordPress with SQL Server as the backend? (I wouldn't think so but I thought I'd throw that out there).
And are there methods differing on the version of Windows (i.e., XP, Vista, Vista64)
I run XAMPP on a thumbdrive and install WordPress (usually multiple instances of it) on there. Then I start up XAMPP when I'm going to work on Wordpress development.
EDIT: this setup does require that IIS be stopped when the XAMPP server is running (or some byzantine configuration magic that I've never bothered to figure out. Since most of my personal needs for local IIS development are handled by the Visual Studio built-in instance of IIS, which can run side-by-side with XAMPP, I rarely have bother with anything else, but that probably won't work for everyone.
Install PHP, run Wordpress in IIS. Install MySQL which can be run side-by-side with MSSQL. The only thing you'll miss using IIS over Apache is mod_rewrite for prettier URLs.
Avoid running IIS and Apache on the same machine if at all possible. IIS likes to bind to all available IPs blocking Apache from binding to an IP, which you can get around if necessary, but it's not immediately clear what's happening.
I've been running this setup for years.
Since you are interested in developing for Wordpress I strongly suggest you use the most common WP setup: Apache, PHP and MySQL.
You can run Apache and IIS at the same time (I have IIS listening on port 81 and Apache on 80) or you can run only one at a time (create 2 bat files to start/stop the servers using the net start/stop command).
You can use IIS, PHP, MySQL to run Wordpress but there are some subtle differences that can drive you crazy or cause problems when you deploy on Apache.
You can certainly run IIS and Apache on the same box. We do it currently with Documentum/Apache and IIS on the same server. Just pick a range of addresses for one web server - 808x for Apache for example.
You should also consider using Thinstall from VMWare where you can virutalize an entire application - registry, .Net and all - distribute as a single .EXE. We do this now for packaging applications that don't play well together. You might want to virtualize Wordpress/Appache/MySql and set an IP (808x) for that configuration. This way you can move this to any server with IIS and it'll play well with different configurations.

Resources