21 pages are tagged with Linux
To check more tags, click here
Choose page tags then click 'Apply'|
MONO/Ubuntu part 20 - Connecting Mono to Oracle
Now that your Oracle XE server is installed and running, you might like to hit it with a web page or two. You'll need to get a couple of extras for that, the System.Data.Oracle dll that's part of the MS.Net installation but not the Mono core and also a bit of middleware that will route your application calls through that dll to the Oracle server.
Like most things, this is all really easy once you've done it wrong a few times. Lucky for you, I've made all the mistakes already so all you have to do is just follow the bouncing ball.
Get and install the Mono System.Data.OracleClient - Get and install the Oracle Instant Client "middleware"
MONO/Ubuntu part 19 - Installing Oracle 10g XE Server
Databases, databases, which one to pick. A religious issue with battles bigger than Islam vs Judaism and almost as bloody as the computer language wars.
But let's be practical.
If you're on Windows with a clean slate your first reach is for SQLServer, even the free single-core, 4gb maxed "Express" versions are right up to date with the latest and greatest full-on paid product. MS does the product very well. And if you have SQLServers running you're all set connecting to SQLS2000, 2005 and 2008 via Mono with all of your standard ADO.Net code.
Ubuntu 9.04 desktop... linux returns to it's crapola roots
Ugh. Kubuntu 9.04 returns to the old desktop uselessness.
Ubuntu and Kubuntu desktops all the way to 8.04, for me, had always been just as lousy as all the rest of the distros I've tried over the years. But a glimmer of hope happened in October 2008 with the 8.10 releases. Finally my Acer Ferarri (a perfect machine with Windows Vista Ultimate 64 from betas to release) got a Linux desktop that worked. Not great and the 64bit never worked out, but in general the 32bit OS was stable and the biggest thing I had never ever had out of Linux worked: Wifi. Even upping it to KDE4.2 kept it a useable OS.
Well, finally got around to spending a day with 9.04. And what a waste it was.
MONO/Ubuntu part 18 - Ubuntu Services and Service Managers
Linux Services for Windows Professionals
You're no one at the watercooler these days if you haven't got a story about using the Windows Powershell commands for XPSP2/WS2003SP1 and higher :-). Out of the box though, Windows gives you three long-trusted and powerFULL ways to manage services and driver loading: the Net command (net start|stop [service name]), the "Service Controller" command (sc start|stop|query|config|etc. [options]) and the graphical MMC Services snapin.
For all the good fun of the commandline options, the snapin's probably still the most used by developers. Just start it with the terminal call service.msc (or clicking your way through the Control Panel), scroll through the list, ...
MONO/Ubuntu part 17 - Ubuntu Task Managers
How far can you go devving on Windows without hitting up Task Manager? Same question and answer on Ubuntu.
In textmode Linux the built-in sort-of equivalent is called up with "top"
Of course, just like many Windows people prefer SysInternals legendary ProcessExplorer a lot of Linuxers prefer htop. It's got more colors (hmmmmm, colors), a more graphical info bar for the procs, memory and swap file and, The Biggest Deals, it lets you scroll through the whole list of tasks and if you are remoting in from a moused client you can click on the columns to sort and click on the menu at the bottom to get functions to run.
MONO/Ubuntu part 16 - Logging Apache Accesses and Errors
You don't want to expose a web server to the wild without setting up logging. We all know this. We sometimes forget this. Don't.
Windows developers over the years get cushy with IIS's protection and we take it for granted, but now we're on Apache and going back to our roots of not trusting the core is a good thing.
Our current virtual hosts file is quite a bit different from the Apache default file, if we look to that original we'll see the recommended minimum log lines.
MONO/Ubuntu part 15 - Managing files and folders
The default behaviour for Apache is to give any user any file that they ask for but you can protect files based on any common or custom file extensions you need.
Related to forbidding folder browsing is forbidding remote access to private files. It's not uncommon to have some quick server-cached lookup data that you want to hold as a file and let the .Net/Mono service work with but not expose to the whole world.
MONO/Ubuntu part 14 - Managed cAse sensitiviTy
Introducing Mono IOMAP
Because the Mono Team knew that most of their new users would be coming over from Windows and usually doing their first tests by dumping some previously written web apps on a Linux box 'just to watch it all fail', they created a one-line compatibility command called Mono IOMAP.
Unfortunately for new users, the setting is not the default (but experienced users would probably not want it bo be). It is turned on at the overall Apache service level by adding the following line to the top of the /etc/apache2/httpd.conf file:
MONO/Ubuntu part 13 - Virtual Host Tweak: unmanaged cAse sensitiviTy
It could be the hugest annoyance when a Microsoft developer tries Mono. Windows at its core is case insensitive. Linux is not.
This useless carryover from the early days of OSes and compilers affects all code that interacts with the file system, and all code done in VisualStudio using the automatic Propercase style that is then XCopied over to a 'nix box. Specifically for ASP.Net applications it is ready to bite you at any line that references a page, image, stylesheet, downloadable or AV streaming file and on and on. With ASP.Net via Mono on a non-Windows server you have to be absolutely case-correct or your users will get 404 errors.
Because no managed web app is 100% managed we have to address this at both the Apache and Mono layers with both configuration settings and ongoing human effort.
MONO/Ubuntu part 12 - Subdomains and Christian porn
Before you go-live with the server, you should handle the default IP Address request case. Disabling the default Apache "It Works" site using "a2dissite default" will do it BUT...
If your network DNS is resolving site urls to the box and they have a value registered that you haven't set up yet then each request will make Apache go through its list of enabled sites and, not finding a match, the last site in its collection will be used.
Sooooo, if you have a porn site first and a Christian site to come later, you may not want to tell your DNS administrator about the Christian site until after you have at least a placeholder site set up for it on the server. We're all usually good about this stuff in our SOX-hampered companies but space out on it when pointing multiple Internet domain names to our homeoffice IPs. Do'h!