So, after failing to bring this project home before Christmas, I picked it up again yesterday, unfortunately with the same results.
I reached out to some people on the WebCenter team who could help, and the consensus was that I don’t have enough system resources to run the full stack on a single VM. Further examination tells me I’m not even close.
A developer in the UK has graciously offered to look at my WebLogic logs and vnc into my VM if necessary, but at this point, I’m pretty sure I’m not going to get there with my current configuration. I’ll update this post with any late-breaking developments.
This has been a great learning experience for me, since I came into it with no previous experience installing this stack.
I had a few goals when I started:
- Learn how to install and configure the whole stack.
- Document the entire process, including failures and gotchas for posterity and Google.
- Produce a working WebCenter installation with a running instance of Spaces as the finish line.
- Package the VM for Rich and Anthony to use if they wanted.
I’ve successfully met the first two, although the process took about three times longer than I anticipated, and failed at the final two.
A 50% success rate sounds pretty bad, but I guess it’s relative.
If you’re scoring at home, or want a summary of the process, here it comes.
System Requirements
The assumption here is that you’re building a VM, so these requirements are in addition to what your host OS needs to function.
Here are the memory requirements for each tier:
- OEL 5 Update 4 probably needs at least 1 GB of RAM.
- Oracle 11g release 2 requires at least 1 GB of RAM.
- Fusion Middleware 11g release 1 requires at least 2 GB of RAM with a minimum of 1 GB free.
There’s no official support for a VirtualBox guest running Oracle Enterprise Linux, so I made a guess at 1 GB RAM would suffice to run the OS.
At a bare minimum, you’ll need 5 GB of RAM in order to meet the 1 GB free requirement for Fusion Middleware on a single VM. Obviously, running the full stack on a single machine, virtual or real, isn’t recommended.
I didn’t keep careful track of the disk requirements, since disk is cheap and plentiful. I generally over-allocate disk to VMs so I can use swap in lieu of physical memory, not a recommended practice.
If I were doing this again without restrictions, I’d build:
- An OEL VM with 11g R2 on it with 3 GB of RAM, 120 GB of disk.
- An OEL VM with Fusion Middleware (Web Tier, WebLogic, WebCenter) on it with 4 GB of RAM, 120 GB of disk.
This means your host will have to have 10 GB of RAM or so. Sounds like a lot, but you can meet these requirements pretty easily for a decent price.
Obviously, my Macbook is far too scrawny to perform this kind of lifting, and had I done more research before launching into this project, I doubt I would have continued.
It’s worth noting that the final size of my VM was just under 40 GB for the full stack. So, dynamically expanding HDDs topping out around 120 GB should work. Obviously, more is better in all cases.
What to Download
This is a useful list to have when you begin.
You’ll need:
- A guest OS for your VM/s. I chose Oracle Enterprise Linux 5, Update 4 (available from eDelivery).
- A supported database. I chose Oracle Database 11g, Release 2 (download). If you prefer a smaller Oracle database, you can install XE as documented here.
- Repository Creation Utility (RCU) to create the Fusion Middleware schemas (download, toward the bottom under “Required Additional Software”).
- A web server. I chose Oracle Web Tier (download, toward the bottom under “Required Additional Software”).
- WebLogic Server (download).
- WebCenter Suite (download).
- Universal Content Management (UCM) for WebCenter, if you plan to use the Documents service (download, toward the bottom under “Required Additional Software”).
Steps to Install WebCenter
It took me a lot of steps to get WebCenter installed, but I could have saved a lot of time with a clearer, big picture of the process. This my attempt to provide that, and frankly, if I do this again, this will be my cheatsheet.
- Download all the stuff you need from the list above to your host.
- Create an OEL VM. I used VirtualBox (covered in Part 1).
- Install the guest additions (covered in Parts 1 and 2).
- Make sure shared folders work so you can access the files you downloaded to your host (covered by Chet).
- Update OEL with the required packages for Oracle Database (covered in Part 3), or run the installer first to get the full list of what’s required, then update. Alternately, you could update them using yum, but I didn’t go that route.
- Install Oracle Database (covered in Part 3).
- Run Database Configuration Assistant (dbca) and Network Configuration Assistant (netca, h/t John, covered in Part 7).
- Start up the listener and database and optionally, create an .env file for the Oracle environment variables (h/t John again, covered in Part 8).
- Create the Fusion Middleware schemas with Repository Creation Utility (RCU, covered in Part 8).
- Create another OEL VM for Fusion Middleware, highly recommended, but optional. Repeat steps 3 and 4 if you go this route.
- Update OEL with the required packages for Fusion Middleware (covered in Part 9), or run the installer first to get the full list of what’s required, then update. Again, you could use yum, but I didn’t.
- Install WebLogic Server (covered in Part 5) but don’t run Quickstart.
- Install WebCenter (covered in Part 9) and optionally, UCM for WebCenter.
- Install Web Tier if you’re using Content Manager and don’t have a web server already (covered in Part 10).
- Optionally create an .env file for your Fusion Middleware and Web Tier environment variables (h/t John again, covered in Part 8).
- Create the WebLogic domain and servers for WebCenter (covered in Part 10).
- Start WebLogic admin server.
- Start the WebCenter managed servers.
- Start the UCM server, if you’re using it.
- Start the web server, if you’re using UCM. If you’re using Web Tier, you might need to configure mod_wl_ohs to proxy for WebLogic (covered in the Oracle HTTP Server guide).
- Rock and/or roll.
Even though I didn’t make it to the finish, the here default URLs you’ll need.
Enterprise Manager: https://your-db-host:1158/em
Fusion Middleware Control: http://your-wc-host:7001/em
WebCenter Spaces: http://your-wc-host:8888/webcenter
Obviously, the ports and names will vary based on your installation specifics. Installing the database and middleware/apps tiers on different VMs will mean you’ll have to handle networking routing that I didn’t cover.
Parts 4 and 6 aren’t listed because they cover user-error issues I had.
Time Investment
I didn’t calculate the amount of time it took, start to finish, and I hit some speedbumps that you might not, depending on your Linux savvy.
But, as an educated guess, I’d reserve at least three days to work on this full-time. You could probably finish in two long days or one marthon day, but I wouldn’t recommend it.
Was any of this useful? Did I make any obvious errors?
Find the comments.
Having all the references here in one tidy package tempts me. Way back in 2007, I briefly wrangled with installing WC for a pilot project, only to come up short and then be overwhelmed by a few very active non-pilot projects. MAybe I'll have better luck doing it for “fun.” 🙂
It's a bit like a puzzle for me. I may take some time away and go back with a new plan, e.g. I might go with an XE VM on Ubuntu and build the FMW stack VM on OS X. That would give me slightly more memory to allocate.
There's also the possibility of remotely using some boxes we have in Pleasanton, but they do semi-production stuff right now. I'd have to repurpose.
Based on Chet's work with AWS, it's tempting to try EC2.
I was fascinated by this endeavor. Thanks for sharing, its always nice for a white belt like myself to have examples to follow (or in this case take caution from)
Heh, glad my failures can light the way for fellow white belts. I'm seriously considering an AWS EC2 install, especially considering how cheap it would be. Plus, I could provide an AMI for others to use. I plan to scope the cost soon. Have you been following Chet's (oraclenerd.com) AWS posts? Useful stuff.
Nice post.I like the way you have described this post.Thank you for your sharing this tips with us!It will help people like me a lot.keep blogging.
Nice post.I like the way you have described this post.Thank you for your sharing this tips with us!It will help people like me a lot.keep blogging.