Requesting Ideas for Project(s)/Opportunities
This is a request to please share links and suggestions for ideas for projects/opportunities, something along the lines of what I have just done:
--set up a dedicated apache CentOS server to host an Apache Software Foundation Mirror
I'm looking for ideas to build upon the skills I've used completing the above and also possibly including the following with which I have basic familiarity/interest/skill:
Volunteering with an Open Source Project
Artwork (logos, marketing materials, etc.)
Apache HTTP server
data analysis, math, working with equations
telecommunications (I have a background in this, wireless and central office)
I would prefer discernible steps, help that is available, I can continue to build on this project and it is practical/useful/a tool for learning once it is complete, I can work on it at any time (used to volunteer w/Fedora Project, but can't make their Infrastructure meeting times because I work full-time in unrelated field,) and whatever it is constitutes an accelerated, practical, hands-on learning experience.
Is this too much to ask for? With the above in mind, any suggestions on a good fit for me in terms of open source projects? I felt a little in over my head with Fedora Infrastructure and not knowing where to start... but perhaps I should give Fedora Infrastructure a second shot, I have no idea what's a good direction to take from here to develop my abilities/understanding further.
An idea of where I'm at: a semester of Java programming and Linux administration (CentOS) under my belt, I set up a headless CentOS server w/an Apache mirror VM (also CentOS) which I access via nxserver. I'm good at math and with equations (Calc. 3, physics I & II) Some of the basics of Linux are still coming to me though (learned today how to uninstall a repo.) I still have some reading to do, but I also need some work to do so that the lessons read are going to stick in my brain.
P.S.-- If I can find something that would kill 2 birds with one stone and help me along my way to finally getting RHCSA or CCNA certification, that would be awesome. I love my career but backup plans are quite necessary in these times of 'austerity.'
I've set up a profile at openhatch.org
My free time is very limited at the moment due to full-time job + studying for certifications + applying for new jobs + applying for online computer science programs.
That said, I'm still looking for suggestions about what to do with my web site to teach myself more of the in's and out's of sys admin, programming, etc. I was considering setting up a reverse proxy (nginx, moving from apache to nginx in general, for that matter to become leaner,) or maybe setting up Squid but I don't know enough about these to know if they'd be of any use in my circumstances (home network.) Will have to find the time to keep reading/researching the next steps. Suggestions as always, always appreciated.
Meanwhile, I still want to learn more about performance monitoring w/either Apache or if I switch over to Nginx. I get a fair nubmer of 404 errors on my Apache mirror and wonder if anything can be done about this from my end.
Ok, so here's what I found to answer my own question:
I'm currently studying security (free!) with cyberaces.org for the next few months, which is already teaching me some things.
Also, I've looked into OpenWRT and just successfully flashed my Linksys router with the latest version, was able to get wired and wireless working just fine yesterday, and today able to set up DDNS through FreeDNS.afraid.org and port forwarding, allowing my website back up (picotopia.org) This constitutes a much cheaper way to host my web site than last year (from $45/yr. to $15/yr.)
Next, I plan to set up either Squid or Privoxy (both if I can-- would like to speed up/improve performance of the apache mirror on my site and also use privoxy to fine-tune/speed up my web surfing experience.)
I also plan to install mod_bandwidth in my existing web server and teach myself a bit about server optimization and performance measurement, then compare optimized apache to the same server hosted with nginx. I believe nginx can also be used as a reverse proxy.
Also really want to set up another vm on the network as an Intrusion Detection System, set up a home media server so I can listen to my music from my laptop, perhaps anywhere (?) Still trying to find ideas that kill more than one bird per stone since my free time is limited.
Any suggestions of further avenues of discovery/nerdery are always welcomed! Thanks in advance.
One thing that might help you out is simplify your list to 1-3 things that you really want to learn.
You said you want to know the in-s and outs of sys admin and then you also said programming... These are huge statements! :) Good for you if you have that amount of time, but perhaps it would be easier and more satisfying to choose something smaller and has the potential to not drown you in the sheer amount of information available.
I saw that you mentioned security/networking, Fedora infrastructure and some programming. All of which require a fair amount of scripting, are you familiar with Linux internals such as startup scripts, cron jobs, simplifying mundane tasks such as creating many users from some sort of a data source. Scripting is often useful for monitoring logs, generating dynamic firewall rules and default firewall configurations.
Then if you have a real good handle on things you want to try or do, maybe try Fedora infrastructure and setup a network of VMs.
For optimization, are you familiar with compiling your own code? kernel? how configuration options work? compiler flags?
Thanks for the links! Am looking at them now and trying to set aside a little time lately for reading IT-related stuff in general to help generate ideas.
Bash is a good idea. I had been concerned at lack of things to do on a home system (practical things anyway) but maybe the apache mirror could use some automation. I know VIM inside out and am learning the directory structure, so I might as well move on to Bash from there.
I haven't really been reading that thread just dropped my :twocents: in but I'm going to make more time for Ruby and hopefully Bash will be easier to follow as I love Linux so...
I don't have much time, but being underemployed and seeing how hard my field of work is being hit by politics and the economy, I am very motivated to find a way to earn a living and not default on my student loans. Excellent point-- not drowning in information overload.
I use cron to update my apache mirror twice a day but haven't used startup scripts yet. I was thinking of having VM(s) start at boot time w/script.
I definitely want to do more with log monitoring-- already using a couple tools (Fail2ban, logwatch) but would like to extract information that interests me (# of unique IP's per day, month, just nerd stats like that.)
I can compile code from source-- was thinking of doing that with my http server to help optimize better. I've never built a custom kernel before though.
I want to focus on becoming aware of what more knowledge/learning and best practices I can develop on the server I'm running while also developing the web site, so I'm going to focus on learning PHP, which will allow me to develop something to showcase my music. That way the backend becomes more complex (it's extremely simple right now) and hopefully requires more skill/abilities to administer.
Thanks again for the suggestions.
I'd like ot rejoin Fedora Infrastructure-- felt a bit over my head the first time, just sat back and listened/read during the meetings.
If you want a good book on programming practices; the Microsoft library has some decent books actually that I can think of off the top of my head.
* Rapid development
* The Secure Software Development Cycle
* Threat Modeling
Phrack magazine will have alot of stuff that will not probably understand, but it will show you things that developers did wrong or past exploits - and the crowd that enjoys it. Definitely not PC NSFW at times.
To look over your logs - rejoice in using python or perl to look over failed connection attempts and install temporary firewall rules etc... bash scripts to do complete setups of your system, change and replace configs or variables in them etc...
If your looking to play around with scripts - setup an SVN or GIT repo and start checking in your programming... you can't loose it hopefully and you can track your progress. Also look into Doxygen for documenting your code :)
Bash scripts for setup of systems--- that fits right into the working smarter not harder category, great direction to head. Since I'm teaching myself on a desktop server, it's difficult sometimes to get clued in on what people typically encounter and what skills they must develop to overcome everyday obstacles. Anything else like this-- Bash setup scripts-- is exactly the sort of thing I'm looking for right now, thanks!
GIT repo? Is this to do with github? I know nothing about GIT or SVN.
|All times are GMT -5. The time now is 07:19 PM.|