text:
Sales Representative (Doha)
We are a whole sale optical company distributor of premium optical products such ophthalmic lenses, contact lenses, contact lens solutions & frames in Qatar.
We are looking for an exceptional, self-motivated and talented individual to open up and expand our business in the Qatari Market.
Job responsibilities may include, but are not limited to:
- Prospect, develop and close new business consistently
- Build relationships with existing customers
- Proactively and effectively communicate product features and benefits, as well as promotional information.
- Provide timely, relevant follow-up.
- Demonstrate a persistent drive for results
- College Degree Preferred
- Minimum 2 years' experience as a Sales Representative males/ females.
- Strong Computer Skills – MS Office, some Mainframe experience a plus
- Excellent people skills
- Bilingual preferred but not a must
- Strong dedication to client/vendor relations
- Excellent verbal and written communication skills
- Detail oriented and has great time management skills
- Ability to interact successfully with both internal and external customers at all levels
- Ability to multi-task, prioritizes, work independently and be flexible with changing business needs
- Optical or Pharmaceutical industry experience is a PLUS.
Interested candidates need to send their CV along with a photo via email to: Protected content


text:
New Food research report from Business Monitor International is now available from Fast Market Research
Boston, MA -- (SBWIRE) -- 04/11/2014 -- Falling sugar prices and uncertainty over the domestic industry's capacity to compete lead us to take a pessimistic view of this segment of the Greek agriculture sector. Grains are expected to benefit both in demand and supply terms from an uptick we see taking place in consumer spending as the economy returns to tentative growth. We expect to see poultry output the biggest beneficiary of cheaper feed grain prices and this is also the only livestock category for which we forecast substantial demand growth. After several lean years, higher farmgate prices will make for a friendlier climate for milk producers although domestic demand for liquid milk will continue to slide. Cheese is expected to be the standout commodity with exports the main driver of growth.
Key Forecasts
- Pork consumption to 2018: up 2.0% to 296,000 tonnes. Only marginal growth is expected as any recovery in household expenditure will be gradual.
- Cheese production growth to 2018: 21.9% to 239,000 tonnes. Exports of feta will lead the way in keeping the dairy segment a going concern.
- 2014 real GDP growth: 1.1% (up from -4.0% in 2013; expected to grow by 1.8% in 2015).
- 2014 consumer price inflation: -0.4% (up from -0.9% in 2013).
- BMI universe agribusiness market value: 8.2% year-on-year decline to US$2.31bn in 2014; forecast to grow by 2.0% in 2015.
View Full Report Details and Table of Contents
Key Changes to Forecasts
- Sugar production growth to 2017/18: -18.1% to 335,600 tonnes. Down from a previous forecast of 620,000 tonnes. After increasing acreages dramatically in 2012/13, sugar growers have scaled back production for 2013/14 to 2011/12 levels, in response to lower prices and perhaps also uncertainty over the effects of the end to quotas in 2017.
Industry Developments
In January 2014 the EC issued 'reasoned opinions' to Greece and three other member states (Belgium, Cyprus and France) requiring them to enforce full legislation on housing of pregnant sows or face referral to the Court of Justice. This follows the final warnings issued by the EC in March 2013 to nine countries, including Greece, threatening legal proceedings if they neglected to take action to implement the ban on sow stalls.
About Fast Market Research
Fast Market Research is a leading distributor of market research and business information. Representing the world's top research publishers and analysts, we provide quick and easy access to the best competitive intelligence available. Our unbiased, expert staff is always available to help you find the right research to fit your requirements and your budget. For more information about these or related research reports, please visit our website at http://www.fastmr.com or call us at 1.800.844.8156.
Browse all Food research reports at Fast Market Research
You may also be interested in these related reports:
- China Agribusiness Report Q2 2014
- India Agribusiness Report Q2 2014
- Colombia Agribusiness Report Q2 2014
- Philippines Agribusiness Report Q2 2014
- Malaysia Agribusiness Report Q2 2014
- Thailand Agribusiness Report Q2 2014
- Iran Agribusiness Report Q2 2014
- Pakistan Agribusiness Report Q2 2014
- Morocco Agribusiness Report Q2 2014
- Cameroon Agribusiness Report Q2 2014

subset: commoncrawl


text:
Bridal Set with 1 Carat TW of Diamonds in 14kt White Gold
DescriptionDazzle her with this 1 carat total weight diamond bridal set. The engagement ring features a round brilliant centrepiece surrounded by a faceted frame to create a bigger look. The central setting is finished with a diamond halo, and enhanced with channel set shoulders. Perfectly paired with the matching wedding band, this exquisite 14kt white gold set will delight the one you love.
Product Details
- Total carat weight .95-1.11 (1)
- Centre carat weight .23-.28 (1/4)
- Centre Diamond Clarity I2
- Centre Diamond Colour HI
- Centre Diamond Cut Round
- Centre Diamond Setting Rubover
- Sidestone Diamond Clarity I2
- Sidestone Diamond Colour HI
- Sidestone Diamond Cut Round
- Sidestone Diamond Setting Channel
- Metal colour White
- Metal content 14 Karat
Delivery & Returns
FREE delivery for all orders over $100. Orders under $100 will be charged a flat fee of $9.90.
Once your order has shipped, please allow 2-7 business days for delivery depending on your location. Orders requiring ring sizing take up to three (3) additional business days to complete.
If for any reason you are not 100% satisfied with your purchase, you may return it online or in-store within 30 days of delivery for an exchange or full refund. Subject to meeting the requirements of our refund policy.
For more information, visit our FAQ page.
Customer Reviews
2 Reviews
12 Dec 2017 Raz304 Wagga Wagga
It's the one
My husband replaced my original engagement and wedding ring with this set for our 10 year anniversary. Absolutely love it
04 Jan 2017 Cherise Trinidad and Tobago
Perfect ring for a simple classy woman
I love this ring. It's just the right amount of bling. Very unique I'm sure I'm not gonna see this style ring on anyone I know. It is gorgeous and perfect for me. Yes the classy simple woman.
Find In Store


text:
CHARLOTTE, N.C. (AP) — The Latest on the PGA Championship (all times local):
3:35 p.m.
Steve Stricker was 11 shots out of the lead and feeling the heat. He had not missed a cut in a major since the 2009 PGA Championship at Hazeltine, and at 5 over for the tournament, he was outside the cut line at Quail Hollow.
The 50-year-old Stricker responded with his best shots of the day. He hit 3-wood onto the green at the par-4 14th to 18 feet. On the next hole, he hit another 3-wood to 20 feet on the par-5 15th. Stricker can't remember the last time he had eagle putts on successive holes. He missed them both, but the birdies sent him to a 70 and he made the cut.
Stricker now has gone eight consecutive years without missing a cut in a major.
3:15 p.m.
There was a brief shower and overcast skies at the PGA Championship.
Rain began falling at Quail Hollow Club during the afternoon of the second round. Showers have been in the forecast all week in Charlotte, though the first round was completed in dry conditions.
Tournament officials posted signs warning fans of the threat of severe weather at about 2:30 p.m. and heavier showers began roughly 30 minutes later.
Play continued through the rain before it cleared up.
1:54 p.m.
American Kevin Kisner has opened a commanding 4-shot lead at the PGA Championship.
Kisner shot 67 for the second straight day on Friday to move to 8 under, four shots ahead of Thorbjorn Olesen and Gary Woodland, who are just beginning their second rounds. Kiser's round was helped by an eagle at No. 7.
The 33-year Kisner entered the tournament ranked 25th in the world rankings.
1:15 p.m.
The PGA Championship will feature at least one club professional on the weekend at Quail Hollow.
Omar Uresti shot 32 on the back nine and rolled in a 12-foot birdie putt on his final hole for a 1-under 70 and was at 2-over 144, which appeared certain to make the cut. It will be only the second time in the last six years that a club pro makes the cut in the PGA Championship.
Uresti doesn't seem like a club pro because he made 350 starts on the PGA Tour. The 49-year-old Texan never qualified for the PGA Championship when he was on tour.
12:15 p.m.
Phil Mickelson finally has his first birdie of the PGA Championship.
He broke his drought Friday with a birdie on No. 4 — his 13th hole of his second round.
He shot no better than par on any of his first 30 holes of the season's final major championship.
Mickelson plopped his tee shot on the 185-yard, par-3 fourth about 20 feet from the flagstick and rolled in his putt. That briefly moved him to 10 over.
But Lefty immediately gave back that stroke with a bogey on the par-4 fifth — his 12th of the tournament.
His struggles have been an intriguing subplot at a Quail Hollow Club course he considers one of his favorites on the PGA Tour.
11:45 a.m.
Kevin Na couldn't have started the second round of the PGA Championship much better.
Na birdied five of his first six holes to briefly move to 3 over for the tournament.
Na started the day with a long way to go, opening with a 79 Thursday that left him 12 strokes behind the first-round co-leaders.
He began his round on the back nine, and his only par was on the par-4 12th.
But in a common theme for many players, the Green Mile at Quail Hollow Club tripped him up.
He gave back one of those strokes with a bogey on 16 after missing a 10-foot par putt, dropping to 4 over.
11:20 a.m.
Rickie Fowler is keeping up his birdie binge at the PGA Championship.
Fowler picked up two more during his first nine holes of the second round, including one on the tricky 17th hole. That gives him eight birdies through 1½ rounds.
He made the turn at 1 under for the day and 3 under for the tournament — three strokes behind leader Kevin Kisner.
The 177-yard, par-3 17th yielded just five birdies during the first round. That's the fewest of any hole at Quail Hollow Club.
Fowler had a birdie on the 14th and another on the 17th after plopping his tee shot about 15 feet from the flagstick and making the putt.
10:50 a.m.
Phil Mickelson has played 1½ rounds without a birdie or better at the PGA Championship.
Mickelson started the second round on the back nine and had bogeys on three of his first nine holes. That moved him to 3 over for the day and 11 over for the tournament.
It also dropped him into a tie for 141st place. There were 154 players remaining in the field.
On Thursday, Lefty shot a 79 for his worst round at a PGA Championship. It came at a Quail Hollow Club course he considers one of his favorites on the PGA Tour.
10:30 a.m.
Rory McIlroy was never so excited to make par.
Starting on the par-5 10th hole, McIlroy's second shot sailed toward the gallery. The ball hit a downhill cart path and kept on rolling before settling in the rough of the 11th hole.
Instead of going over the trees, McIlroy chose to hit a 6 iron from 110 yards , skipping it along the cart path into the bunker, then out of bunker and across the green until in landed on the fringe on the other side. Two putts later, he had his par.
McIlroy is 1 under for the day and par for the tournament.
10 a.m.
Kevin Kisner has taken sole possession of the lead at the PGA Championship after birdieing two of his first three holes.
Kisner started his round on the back nine. He moved to 6 under after birdies on No. 10 and 12, but gave a shot back on No. 13 with a bogey. He is currently 5 under, one shot ahead of Thorbjorn Olesen, who will tee off in the afternoon.
Kisner won the Dean & Deluca Invitational this year but has never won a major. He finished 18th at the PGA Championship last year.
9:25 a.m.
Rory McIlroy opened the second round of the PGA Championship with three straight pars. The 28-year-old from Northern Ireland is looking to make up ground on leaders Thorbjorn Olesen and Kevin Kisner, who are five shots ahead.
The 2012 and 2014 PGA Championship winner is considered a favorite this week, along with Jordan Spieth, to take home the Wanamaker Trophy. McIlroy started the day at 1 over for the tournament.
McIlroy had a three-hole stretch Thursday that included a double bogey after he had reached 2 under for the tournament. He noted the grainy greens of the Quail Hollow course were fast and difficult.
8 a.m.
Jordan Spieth wasn't overly worried about being five shots behind after one round of the PGA Championship. He just wants to make sure the deficit is a little smaller after the next round.
Spieth, who needs this major to complete the career Grand Slam, will know the target by the time he tees off at Quail Hollow on Friday afternoon.
Kevin Kisner, who shared the 18-hole lead at 4-under 67 with Thorbjorn Olesen, was among the early starters on another calm morning with a few gathering clouds.
Rory McIlroy let a good round get away from him and shot 72, the same score as Spieth. McIlroy also plays Friday morning and is hopeful the slightly smoother greens will allow him to make more putts.


text:
Distance from Blanco, TX to Port O Connor, TX
Driving distance between Blanco, TX and Port O Connor, TX is 199.39 miles (or 320.88 kilometers). If you drove an average car (using about 3.6 gallons of gas per mile), the gas would cost you around $, since you would need about gallons of fuel.
Leaving from Blanco, TX you would reach Port O Connor, TX in about 4 hours 21 mins if you keep an average speed of miles per hour, assuming you don't make any breaks or get stuck in traffic.


text:
If at First You Don't Succeed…
Ok. So I'll just get this right out of the way. This season's finale was a blowout. A thrashing. A flogging. A good ol' fashioned donnybrook (ok, maybe that was not the right word, but I've always wanted to use it in a sentence). From the 1st swing of the day, Jackie was in complete control of this match and never once gave Fiamma hope of a comeback. Granted, Fiamma did a lot of this to herself, but much of this had to do with the fact that Jackie never once gave her a chance to sneak back in to the match. Pars are your best friend in Match Play, and Jackie made BEST friends with the old man. So, rather than muse on and on about what Fiamma could have done better (a few putts falling would have been HUGE), I'm gonna go a different route, as I tend to do.
Welcome to the final installment of this season's incoherent thoughts and ramblings of Big Break Florida Lead Producer, Brendan Havens.
Assembling a cast for each season of Big Break is quite possibly the most important part of the pre-production stage. Sure, everyone loves the Glass Break and all the other crazy challenges we pull together as a result of some super vivid fever dream, but it's really the competitors and the dynamics between them that pull the whole thing together. After all, these people are the reason you'll be tuning in each and every week and if they can't peak your interest, you have no series. This is why it's crazy to think that Jackie and Fiamma didn't get cast the 1st time they auditioned. In fact, each of them auditioned for the series four separate times (FOUR!!!) and each was on the alternate list at one point or another. So, it actually seems rather fitting that these were the two players left standing in the final episode.
What took us so long, you may ask? Well, the quick answer is that it wasn't until this particular season that they both had the right fit for a cast of 12 aspiring professional golfers. It's a little more involved than that, though. On this cast, in particular, half of them had previously auditioned at least once before being selected (Jackie, Fiamma, Mary, Renee, Kylee and Lauren). This is actually more common than one may think. Most of the recent casts we've put together are comprised of a handful of people that we've met once or twice during the audition process of previous seasons. So, why is this? There are many factors at play, but mainly it has to do with how we predict the interplay will be between the cast members. We would never want a cast full of the same type of person. In order to root for (or against, for that matter), each competitor needs to be unique onto themselves. When we spend the majority of the series with a good number of competitors (generally, we don't get down to 4 or 5 competitors until very late in the series), you need to be able to pick all the individuals out of the larger group.
For certain people, they just need another year (or two) to mature/find their own voice/get comfortable with who they are before we feel they're ready to be put under the bright, bright lights of the Big Break competition. And really, some just have a bad audition. Simple as that.
The fact that Jackie and Fiamma not only kept chasing their dream of playing on the LPGA, but kept persisting on becoming part of the Big Break competition says a lot about who they are and what the character of their golf game consists of. Because of her small stature, Fiamma's never really been taken seriously as a professional golfer. Although she didn't bring her "A" game to the Championship Match, she's proven over the course of this season that she really can play this game. Jackie said it when we went to visit her in Vero Beach before the competition began. Her whole life she's been overlooked and discounted. She was never highly recruited. She was not expected to do anything of note out on the Symetra Tour. She was never expected to qualify for the U.S. Women's Open. It only seems fitting that after trying so many times to get on the show, she took full advantage of the opportunity she was finally given. Congratulations Jackie. You're (finally!) the Big Break Champion.


text:
Create Your Idea Page
First Name: *
Last Name: *
Email: *
Confirm Email Address: *
Password: (Min Length 6 Characters) *
Confirm Password:: *
Birthdate: *
Security Question: *
What was the name of your first pet?
What is your oldest sibling's middle name?
What street did you live on in 3rd grade?
What was your first job?
What was your childhood nickname?
What is your maternal grandmother's maiden name?
What was the last name of your third grade teacher?
Answer: *
I have carefully read and agree to the Terms of Use.


text:
Germania (airline code ST) is a charter and budget airline based in Berlin. Germania's main operating base is at Berlin's Tegel airport. (Tegel airport was ...
User ReviewsSee all
Chocksaway16 Reviews
Flight on 20/07/2015
Germania Economy (short haul)
London to Kerkyra
on: A319
Germania's plane was smart and clean and the multinational crew very friendly and efficient in both directions. A bonus was the meal and drinks, which was unexpected, although this was a tour operator charter, so this would have been included in the package price. Blankets, pillows and headsets ...read more


text:
On the statistics alone, you would have to say that John Burnside's career is among the more remarkable in contemporary literature: having started late, in his mid-thirties, he has over 20 years produced seven novels, three collections of short stories, 12 volumes of poetry (not counting Selected Poems) and two memoirs. In all the forms he has attempted, he has won critical acclaim and numerous shortlistings and awards – his most recent collection, Black Cat Bone, nabbed both the Forward and the TS Eliot poetry prizes.
More remarkable than that is the coherence of his work, the way that types, themes and situations recur, set in landscapes that are recognisably Burnside's, sketched in language that is lyrical and eloquent but also, when you stare at it hard enough, evasive. From the beginning his poetry has recycled, with variations, a well-defined set of ideas and images: disappearances, half-seen presences (angels, ghosts, hallucinations), private rituals, small tokens of the natural world such as feathers, bones and birds' eggs, in forests and by water.
He is unusually sensitive to smells, colours and atmospheres – the different sensations of the air touching the skin in an industrial town or by the sea – and drawn to certain kinds of weather, especially mist and snow: weather that blurs, hides, erases. In his fiction, these motifs are set in narratives about male violence, madness, addiction and adultery, or the contemplation of adultery, often featuring young working-class men in rough provincial towns, or older couples drifting through unhappy marriages.
His memoirs lay out the origins of these concerns in his own life: A Lie About My Father (2006) described a grim childhood with a thug of a father and a mother whose suffering was cut off by cancer; Waking Up in Toytown (2010) recounted adult experiences of mental illness and alcoholism.
The 13 stories in Something Like Happy offer all the customary satisfactions of Burnside's writing – anomie, menace, flashes of violence and cruelty, hallucinations and snow – but multiplied, so that it sometimes feels as though what you are reading is not a story, an exercise of the imagination, so much as another iteration of a process. Snow whirls through the book, though sleet and fog also get a look in. Even a couple of stories set in high summer, "Peach Melba" and "Sunburn", which both revolve around adolescent encounters with older women, manage to work in mentions of "the coming of winter, the taste of snow in the air" and an account of scientists in the Arctic drilling ice-cores.
Whether you read these repetitions as unity of vision or succumb to the temptation to play Burnside bingo – a point for every ghost, vanishing or snowfall – depends on how well the tropes work within the stories: and here there is plenty of variety. "Perfect and Private Things", in which an unhappily married academic achieves some mysterious satisfaction by anonymously courting a student, has some slack phrasemaking and seems undecided whether it is set in Britain or the US.
"Slut's Hair" contains the attractively ambiguous image of a mouse with bright blue fur: is it really just a collection of fluff? But the vicious husband who yanks out his wife's aching tooth with a pair of pliers has nothing of the mouse's reality, so that the violence is queasy but not affecting. Likewise, the hints of cruelty and perversion in "Roccolo" – an Italian word for a tower built to trap birds – seem gratuitous without a psychologically realistic context.
That cannot be said of "The Deer Larder", the closest thing here to an out-and-out ghost story, or "The Cold Outside", in which a hitchhiking woman turns out to be a boy in drag, bearing the marks of a beating: in these stories, the emotional weight comes not from the central incidents but from framing narratives of illness and disillusion. The title story, one of Burnside's tales of small-town violence, involves some enviably precise observation of the damage inflicted within two families by minor differences of aspiration and achievement.
Taken together, these stories suggest that Burnside has reached some kind of impasse: he needs to find new tones and new images. But even his most routine stories have beauty and intelligence: he is never less than something like brilliant.
Something Like Happy
by John Burnside
244pp, Cape, t £14.99
(PLUS £1.35 p&p) Buy now from Telegraph Books (RRP £16.99, ebook £9.49)


text:
Reimagining the Candidate Experience
A new breed of candidate is creating several challenges for employers and recruiters. Candidate expectations are higher than ever before. Today's candidates, especially Millennials and digital natives, expect a high touch, personal and interactive hiring and screening process. That is why we created Profile Advantage™, a centralised interaction and communication hub that humanises the candidate experience.


text:
In between getting naked for magazine spreads and showing off her charitable side, pop singer Miley Cyrus has also managed to enjoy some downtime.
On Friday night the 21-year-old headed out to Soho House in Los Angeles with a group of pals, including her old LOL co-star, on-screen boyfriend, and the first person she ever had to do a sex scene with - Douglas Booth.
The bearded Brit actor and the former twerk queen were snapped hanging outside the celeb haunt together as she waited for to her car to be delivered.
Even sporting a mildly Sunday lazy day look, Douglas still looked hot in his black shorts, a white tee and black hoodie, while Miley was wearing a white and black matching skirt and shirt.
Speaking about her hunky co-star and her first ever saucy film scene in the past, she said: "It was the first scene we shot together. First day, and it was the sex scene.
"I forgot to shave my legs. I was in the trailer and I was like, 'Give me a razor, quick'."
She also said that Douglas was "the coolest dude ever."
"He's gorgeous. He's like one of the coolest dudes ever. He's really funny. We called him 'Princess' because he has a very posh English accent."
We think they'd make a pretty good couple if they ever got together...


text:
Oscar winner Lupita Nyong'o has reportedly split from Somalian rapper boyfriend K'naan.
The 12 Years a Slave star has been linked to K'naan since March (14), but an insider tells Us Weekly that their romance has since fizzled out, and they actually broke up in late 2014.
But Nyong'o has already been linked to another entertainer - fellow Oscar winner Jared Leto. During the Screen Actors Guild Awards on Sunday night (25Jan15), the two served as co-presenters, and following the Los Angeles ceremony, they were spotted at an after party, flirting and dancing with each other.
The reports of a romance between Nyong'o and Leto began last year (14) as they ran into each other on the awards show circuit, but both stars dismissed the gossip, with the actress joking about the relationship, suggesting "Miley Cyrus broke us up".


text:
Redmine is a popular open source project management and issue tracking platform that covers multiple projects and subprojects, each with its own set of users and tools, from the same place.
First steps with the Bitnami Redmine Stack
Welcome to your new Bitnami application running on Microsoft Azure! Here are a few questions (and answers!) you might need when first starting with your application.
What credentials do I need?
You need two sets of credentials:
- The application credentials that allow you to log in to your new Bitnami application. These credentials consist of a username and password.
- The server credentials that allow you to log in to your Microsoft Azure server using an SSH client and execute commands on the server using the command line. These credentials consist of an SSH username and key.
What is the administrator username set for me to log in to the application for the first time?
Username: user
What SSH username should I use for secure shell access to my application?
SSH username: bitnami
What are the default ports?
A port is an endpoint of communication in an operating system that identifies a specific process or a type of service. Bitnami stacks include several services or servers that require a port.
IMPORTANT: Making this application's network ports public is a significant security risk. You are strongly advised to only allow access to those ports from trusted networks. If, for development purposes, you need to access from outside of a trusted network, please do not allow access to those ports via a public IP address. Instead, use a secure channel such as a VPN or an SSH tunnel. Follow these instructions to remotely connect safely and reliably.
Port 22 is the default port for SSH connections.
Bitnami opens some ports for the main servers. These are the ports opened by default: 80, 443.
How to start or stop the services?
Each Bitnami stack includes a control script that lets you easily stop, start and restart services. The script is located at /opt/bitnami/ctlscript.sh. Call it without any service name arguments to start all services:
$ sudo /opt/bitnami/ctlscript.sh start
Or use it to restart a single service, such as Apache only, by passing the service name as argument:
$ sudo /opt/bitnami/ctlscript.sh restart apache
Use this script to stop all services:
$ sudo /opt/bitnami/ctlscript.sh stop
Restart the services by running the script without any arguments:
$ sudo /opt/bitnami/ctlscript.sh restart
Obtain a list of available services and operations by running the script without any arguments:
$ sudo /opt/bitnami/ctlscript.sh
How to access the administration panel?
Access the administration panel by browsing to http://SERVER-IP/admin.
How to see a Subversion repository from the Redmine application or from a Web browser directly?
Redmine lets users check repository changes and link to cases. Simply configure the "Repository URL" in the project's "Settings -> Repositories" tab.
SCM: Subversion
URL: http://your_repository
Login: repository_login
Password: repository_password
How to configure Redmine for advanced integration with Subversion?
Before starting this guide, take into account that this is not necessary to see the repository changes in the Redmine application. If you only want to see the repository changes and link to the issues, it is only necessary to configure the project repository: "Project -> Settings -> Repository -> URL and Control Version System".
This Redmine configuration is for automatic repository creation and rights management. Since v1.1.3-1, Redmine Stack ships all required modules for this configuration. This guide has been updated to work with Redmine 2.1.4.
Follow these steps:
Make sure that the mod_dav module is enabled in your Apache configuration file (httpd.conf). This module should be loaded before the modules mentioned in the next step.
LoadModule dav_module modules/mod_dav.so
Add the following lines in the Apache configuration file:
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule perl_module modules/mod_perl.so
You will also need to add the following lines to the /opt/bitnami/apache2/bin/envvars file (the path may change depending on the version):
LD_LIBRARY_PATH="/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
Copy the Redmine.pm file into the Perl modules folder:
$ cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.8.8/*/Apache2/
Create a directory for the repository, for instance:
$ mkdir /opt/bitnami/repository $ mkdir /opt/bitnami/repository/svn $ chown root:daemon /opt/bitnami/repository/ [or "your_user:your_user" if you installed the Stack without root privileges] $ chown root:daemon /opt/bitnami/repository/svn/ [or "your_user:your_user" if you installed the Stack without root privileges] $ chmod 0755 /opt/bitnami/repository $ chmod 0750 /opt/bitnami/repository/svn
Add these lines to the /opt/bitnami/apps/redmine/conf/httpd-app.conf file:
PerlLoadModule Apache2::Redmine <Location /svn> DAV svn SVNParentPath "/opt/bitnami/repository/svn" Order deny,allow Deny from all Satisfy any PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler AuthType Basic AuthName "Redmine SVN Repository" #read-only access <Limit GET PROPFIND OPTIONS REPORT> Require valid-user Allow from all # Allow from another-ip Satisfy any </Limit> # write access <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> ## for mysql RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/opt/bitnami/mysql/tmp/mysql.sock" RedmineDbUser "bitnami" RedmineDbPass "bitnami_database_password" #You can find this value at /opt/bitnami/apps/redmine/htdocs/config/database.yml </Location>
Restart the server:
$ sudo /opt/bitnami/ctlscript.sh restart apache
Log in to the Redmine application as administrator and navigate to "Settings -> Repositories -> Enable WS for repository management".
Click "Generate a key" and save the key.
Add the following line in the crontab. You can edit the crontab using the command crontab -e:
*/2 * * * * /opt/bitnami/ruby/bin/ruby /opt/bitnami/apps/redmine/htdocs/extra/svn/reposman.rb --redmine localhost:YOUR_APACHE_PORT/redmine --svn-dir /opt/bitnami/repository/svn --owner root --group daemon --command="/opt/bitnami/subversion/bin/svnadmin create --pre-1.6-compatible --fs-type fsfs" --url http://SERVER-IP:YOUR_APACHE_PORT/svn --key="YOUR_API_KEY" --verbose >> /var/log/reposman.log
If you have configured Redmine for access over SSL, you can specify --redmine http://127.0.0.1:3001/redmine in the previous crontab line.
Check that everything works properly creating a project from the Redmine application and checking the /var/log/reposman.log file.
Thanks to Jedbifa who posted a complete guide in the Bitnami forums.
How to configure outbound email settings?
Email settings can be configured in the /opt/bitnami/apps/redmine/htdocs/config/configuration.yml file. In older versions, use the /opt/bitnami/apps/redmine/htdocs/config/email.yml file.
The file includes sample configuration settings for most common scenarios, including Gmail. To use Gmail as the SMTP server, find and uncomment the Gmail settings such that you end up with the result below. Remember to update the user_name and password variables with the correct credentials for the Gmail account you plan to use.
# ==== SMTP server at using TLS (GMail)
# This might require some additional configuration. See the guides at:
# http://www.redmine.org/projects/redmine/wiki/EmailConfiguration
delivery_method: :smtp
enable_starttls_auto: true
address: "smtp.gmail.com"
port: 587
domain: "smtp.gmail.com" # 'your.domain.com' for Google Apps
authentication: :plain
user_name: "firstname.lastname@example.com"
password: "PASSWORD"
Once the configuration file has been modified, restart the services following these instructions.
To change the link that appears in the email, navigate to the "Administration -> Settings -> General -> Host name and path" section and enter your domain name and port.
More information is available on this Redmine wiki page and this Redmine blog post.
Troubleshooting email configuration issues
In case you receive an error message containing "530 5.7.0 Must issue a STARTTLS command first …", make sure you have the enable_starttls_auto property set after the password line. For example:
email_delivery: delivery_method: :smtp smtp_settings: enable_starttls_auto: true address: "smtp.gmail.com" port: 587 domain: "smtp.gmail.com" # 'your.domain.com' for GoogleApps authentication: :plain user_name: "firstname.lastname@example.com" password: "PASSWORD"
In Redmine 2.0 or greater, if you see an error similar to "An error occurred while sending mail (SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: unknown protocol)", remove the tls: true option from the configuration.yml file. Then, restart the services.
If using an SMTP server that does not require authentication, you may need to add the openssl_verify_mode: 'none' option to the configuration.yml file.
To configure the application to use other third-party SMTP services for outgoing email, such as SendGrid or Mandrill, refer to the FAQ.
|NOTE: If you are using Gmail as the outbound email server and have experienced issues trying to send emails correctly, check the How to troubleshoot Gmail SMTP issues to learn the causes of these issues and how to solve them.
How to install a plugin on Redmine?
Before installing a plugin, make sure that the plugin is compatible with your Redmine version. For plugins from the Redmine Plugin Directory. Select your Redmine version and check if the plugin is compatible or not with your version using the drop down menu located in the top right margin: "Show only plugins compatible with Redmine: version".
Get the .zip file or clone the git repository in the /opt/bitnami/apps/redmine/htdocs/plugins directory:
$ cd /opt/bitnami/apps/redmine/htdocs/plugins
If you have obtained a .zip file, Once you have the plugin .zip file, uncompress it an remove the .zip file. (Remember to replace PLUGIN_NAME-x-y-z with the correct name and version of the plugin):
$ unzip PLUGIN_NAME-x-y-z.zip $ rm PLUGIN_NAME-x-y-z.zip
|IMPORTANT: Before installing the plugin, check the installation notes indicated in the plugin description or readme. Some plugins need special installation requirements.
Install the plugin in the htdocs directory:
$ cd /opt/bitnami/apps/redmine/htdocs/ $ bundle install $ bundle exec rake redmine:plugins NAME=PLUGIN_NAME RAILS_ENV=production
NOTE: It could display a warning message about the log production file. In that case, run the following commands:
$ sudo chown :bitnami log/production.log $ sudo chmod g+w log/production.log
Restart Apache services:
$ sudo /opt/bitnami/ctlscript.sh restart
Troubleshooting plugin installation
If you receive an error like this in Redmine 2.4.0-0 and newer:
You are trying to install in deployment mode after changing your Gemfile. Run 'bundle install' elsewhere and add the updated Gemfile.lock to version control.
Try adding the --no-deployment argument to the bundle install command as suggested in the error message.
How to install the Redmine Agile plugin?
To manually install the Redmine Agile plugin (free registration is required). It is strongly recommended to create a backup first. Once your backup is done, follow these steps:
Save the .zip file in the /opt/bitnami/apps/redmine/htdocs/plugins directory. Make sure that you are in that directory before unzip the plugin:
$ cd /opt/bitnami/apps/redmine/htdocs/plugins
Unzip the Agile plugin file (VERSION-EDITION is a placeholder. Your file should contains the version you have downloaded and the selected edition):
$ unzip redmine_agile_VERSION-EDITION.zip
Remove the ".zip" file:
$ rm redmine_agile_VERSION_EDITION.zip
Change to the htdocs directory and install required gems:
$ cd /opt/bitnami/apps/redmine/htdocs/ $ bundle install --without development test postgresql sqlite --no-deployment $ bundle install --without development test postgresql sqlite --deployment
Install and migrate the Redmine Agile database:
$ bundle exec rake redmine:plugins RAILS_ENV=production $ bundle exec rake redmine:plugins NAME=redmine_agile RAILS_ENV=production
NOTE: It could display a warning message about the log production file. In that case, run the following commands:
$ sudo chown :bitnami log/production.log $ sudo chmod g+w log/production.log
Restart services for the changes to take effect:
$ sudo /opt/bitnami/ctlscript.sh restart
Sign in to your Redmine installation and navigate to the "Administration -> Agile" section to configure the new plugin.
Navigate to the "Projects -> PROJECT -> Settings -> Modules" menu to enable the Agile plugin in your project.
How to install the Redmine Custom Workflows plugin?
Before installing the Redmine Custom Workflows plugin, create a backup. Once your backup is complete, follow these steps:
Change to the Redmine plugins directory and get the latest Custom Workflows version:
$ cd /opt/bitnami/apps/redmine/htdocs/plugins $ git clone http://github.com/anteo/redmine_custom_workflows.git
Install the plugin:
$ cd /opt/bitnami/apps/redmine/htdocs/ $ bundle exec rake redmine:plugins:migrate RAILS_ENV=production
NOTE: It could display a warning message about the log production file. In that case, run the following commands:
$ sudo chown :bitnami log/production.log $ sudo chmod g+w log/production.log
Restart services for the changes to take effect:
$ sudo /opt/bitnami/ctlscript.sh restart
Sign in to your Redmine installation and navigate to the "Administration -> Custom Workflows" section to configure the new plugin.
How to create a full backup of Redmine?
The Bitnami Redmine Stack is self-contained and the simplest option for performing a backup is to copy or compress the Bitnami stack installation directory. To do so in a safe manner, you will need to stop all servers, so this method may not be appropriate if you have people accessing the application continuously.
Follow these steps:
Change to the directory in which you wish to save your backup:
$ cd /your/directory
Stop all servers:
$ sudo /opt/bitnami/ctlscript.sh stop
Create a compressed file with the stack contents:
$ sudo tar -pczvf application-backup.tar.gz /opt/bitnami
Restart all servers:
$ sudo /opt/bitnami/ctlscript.sh start
You should now download or transfer the application-backup.tar.gz file to a safe location.
Follow these steps:
Change to the directory containing your backup:
$ cd /your/directory
Stop all servers:
$ sudo /opt/bitnami/ctlscript.sh stop
Move the current stack to a different location:
$ sudo mv /opt/bitnami /tmp/bitnami-backup
Uncompress the backup file to the original directoryv
$ sudo tar -pxzvf application-backup.tar.gz -C /
Start all servers:
$ sudo /opt/bitnami/ctlscript.sh start
If you want to create only a database backup, refer to these instructions for MySQL and PostgreSQL.
How to upgrade Redmine?
It is strongly recommended that you create a backup before starting the update process. If you have important data, it is advisable that you create and try to restore a backup to ensure that everything works properly.
Upgrade Redmine and all stack components (recommended)
You can upgrade the application and the stack components by following the steps below:
- Launch a new Redmine server.
- Copy the database backup to the new server.
Stop all servers and start only MySQL.
$ sudo /opt/bitnami/ctlscript.sh stop apache $ sudo /opt/bitnami/ctlscript.sh stop mysql $ sudo /opt/bitnami/ctlscript.sh start mysql
Remove the previous database and create the new one. You can configure the database user password with a secure password. Remember to add the -h option to specify the hostname if your database is hosted on a different server.
$ mysql -u root -p Password: **** mysql> drop database bitnami_redmine; mysql> create database bitnami_redmine; mysql> grant all privileges on bitnami_redmine.* to 'bn_redmine'@'localhost' identified by 'DATABASE_PASSWORD';
Restore the new database:
$ mysql -u root -p bitnami_redmine < backup.sql
Edit the Redmine configuration file to update the database user password (the same that you set previously) at /opt/bitnami/apps/redmine/htdocs/config/database.yml.
production: adapter: mysql2 database: bitnami_redmine host: localhost username: bn_redmine password: "DATABASE_PASSWORD" encoding: utf8
Migrate the database to the latest version:
$ cd /opt/bitnami/apps/redmine/htdocs/ $ ruby bin/rake db:migrate RAILS_ENV=production
Troubleshooting upgrades
If you see the following error, go to your database and remove the specified table and run the migration command again.
Mysql::Error: Table 'changeset_parents' already exists: CREATE TABLE `changeset_parents` (`changeset_id` int(11) NOT NULL, `parent_id` int(11) NOT NULL) ENGINE=InnoDB
Run these commands:
$ mysql -u root -p mysql> use bitnami_redmine; mysql> drop table changeset_parents; $ cd /opt/bitnami/apps/redmine/htdocs/ $ ruby bin/rake db:migrate RAILS_ENV=production
Then, copy the /opt/bitnami/apps/redmine/htdocs/files directory from the old installation to the new one. If you have installed plugins in the previous version, copy the directories from the vendor/plugins directory into the new installation area, in the plugins directory. Check that the plugins are compatible with the new version and run the following command:
$ ruby bin/rake redmine:plugins RAILS_ENV="production"
Clean the cache and the sessions.
$ ruby bin/rake tmp:cache:clear $ ruby bin/rake tmp:sessions:clear
Restart the servers.
$ sudo /opt/bitnami/ctlscript.sh restart
If you upgrade from a 1.x version and you see something similar to this error:
MysqlStatement::Error Value for field `value` cannot be NULL INSERT INTO custom_value ...
Go to your custom values in the admin panel, edit and save them again to fix the issue.
How to create an SSL certificate?
OpenSSL is required to create an SSL certificate. A certificate request can then be sent to a certificate authority (CA) to get it signed into a certificate, or if you have your own certificate authority, you may sign it yourself, or you can use a self-signed certificate (because you just want a test certificate or because you are setting up your own CA).
Follow the steps below:
Generate a new private key:
$ sudo openssl genrsa -out /opt/bitnami/apache2/conf/server.key 2048
Create a certificate:
$ sudo openssl req -new -key /opt/bitnami/apache2/conf/server.key -out /opt/bitnami/apache2/conf/cert.csr
IMPORTANT: Enter the server domain name when the above command asks for the "Common Name".
Send cert.csr to the certificate authority. When the certificate authority completes their checks (and probably received payment from you), they will hand over your new certificate to you.
Until the certificate is received, create a temporary self-signed certificate:
$ sudo openssl x509 -in /opt/bitnami/apache2/conf/cert.csr -out /opt/bitnami/apache2/conf/server.crt -req -signkey /opt/bitnami/apache2/conf/server.key -days 365
Back up your private key in a safe location after generating a password-protected version as follows:
$ sudo openssl rsa -des3 -in /opt/bitnami/apache2/conf/server.key -out privkey.pem
Note that if you use this encrypted key in the Apache configuration file, it will be necessary to enter the password manually every time Apache starts. Regenerate the key without password protection from this file as follows:
$ sudo openssl rsa -in privkey.pem -out /opt/bitnami/apache2/conf/server.key
Find more information about certificates at http://www.openssl.org.
How to enable HTTPS support with SSL certificates?
|TIP: If you wish to use a Let's Encrypt certificate, you will find specific instructions for enabling HTTPS support with Let's Encrypt SSL certificates in our Let's Encrypt guide.
|NOTE: The steps below assume that you are using a custom domain name and that you have already configured the custom domain name to point to your cloud server.
Bitnami images come with SSL support already pre-configured and with a dummy certificate in place. Although this dummy certificate is fine for testing and development purposes, you will usually want to use a valid SSL certificate for production use. You can either generate this on your own (explained here) or you can purchase one from a commercial certificate authority.
Once you obtain the certificate and certificate key files, you will need to update your server to use them. Follow these steps to activate SSL support:
Use the table below to identify the correct locations for your certificate and configuration files.
Variable Value Current application URL https://[custom-domain]/ Example: https://my-domain.com/ or https://my-domain.com/appname Apache configuration file /opt/bitnami/apache2/conf/bitnami/bitnami.conf Certificate file /opt/bitnami/apache2/conf/server.crt Certificate key file /opt/bitnami/apache2/conf/server.key CA certificate bundle file (if present) /opt/bitnami/apache2/conf/server-ca.crt
Copy your SSL certificate and certificate key file to the specified locations.
NOTE: If you use different names for your certificate and key files, you should reconfigure the SSLCertificateFile and SSLCertificateKeyFile directives in the corresponding Apache configuration file to reflect the correct file names.
If your certificate authority has also provided you with a PEM-encoded Certificate Authority (CA) bundle, you must copy it to the correct location in the previous table. Then, modify the Apache configuration file to include the following line below the SSLCertificateKeyFile directive. Choose the correct directive based on your scenario and Apache version:
Variable Value Apache configuration file /opt/bitnami/apache2/conf/bitnami/bitnami.conf Directive to include (Apache v2.4.8+) SSLCACertificateFile "/opt/bitnami/apache2/conf/server-ca.crt" Directive to include (Apache < v2.4.8) SSLCertificateChainFile "/opt/bitnami/apache2/conf/server-ca.crt" NOTE: If you use a different name for your CA certificate bundle, you should reconfigure the SSLCertificateChainFile or SSLCACertificateFile directives in the corresponding Apache configuration file to reflect the correct file name.
Once you have copied all the server certificate files, you may make them readable by the root user only with the following commands:
$ sudo chown root:root /opt/bitnami/apache2/conf/server* $ sudo chmod 600 /opt/bitnami/apache2/conf/server*
Open port 443 in the server firewall. Refer to the FAQ for more information.
Restart the Apache server.
You should now be able to access your application using an HTTPS URL.
How to force HTTPS redirection with Apache?
Add the following lines in the default Apache virtual host configuration file at /opt/bitnami/apache2/conf/bitnami/bitnami.conf, inside the default VirtualHost directive, so that it looks like this:
<VirtualHost _default_:80>
DocumentRoot "/opt/bitnami/apache2/htdocs"
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
After modifying the Apache configuration files:
Open port 443 in the server firewall. Refer to the FAQ for more information.
Restart Apache to apply the changes.
How to debug Apache errors?
Once Apache starts, it will create two log files at /opt/bitnami/apache2/logs/access_log and /opt/bitnami/apache2/logs/error_log respectively.
The access_log file is used to track client requests. When a client requests a document from the server, Apache records several parameters associated with the request in this file, such as: the IP address of the client, the document requested, the HTTP status code, and the current time.
The error_log file is used to record important events. This file includes error messages, startup messages, and any other significant events in the life cycle of the server. This is the first place to look when you run into a problem when using Apache.
If no error is found, you will see a message similar to:
Syntax OK
How to create a Virtual Network peering?
To connect two instances internally you can enable a Virtual Network (VNet) peering from the Azure Portal. Depending if the instances were launched in the same or in different resource groups, there are two methods for performing a internal connection: sharing a virtual network or enabling a virtual network peering.
- Learn how to share a virtual network to join instances from the same resource group.
- Learn how to enable virtual network peering to join instances from different resource groups.
How to find the MySQL database credentials?
- Database username: root.
- Database password: The same as the application password. Find out how to obtain application credentials.
How to connect to the MySQL database?
You can connect to the MySQL database from the same computer where it is installed with the mysql client tool.
$ mysql -u root -p
You will be prompted to enter the root user password. This is the same as the application password.
How to debug errors in your database?
The main log file is created at /opt/bitnami/mysql/data/mysqld.log on the MySQL database server host.
How to change the MySQL root password?
You can modify the MySQL password using the following command at the shell prompt. Replace the NEW_PASSWORD placeholder with the actual password you wish to set.
$ /opt/bitnami/mysql/bin/mysqladmin -p -u root password NEW_PASSWORD
How to reset the MySQL root password?
If you don't remember your MySQL root password, you can follow the steps below to reset it to a new value:
Create a file in /home/bitnami/mysql-init with the content shown below (replace NEW_PASSWORD with the password you wish to use):
UPDATE mysql.user SET Password=PASSWORD('NEW_PASSWORD') WHERE User='root'; FLUSH PRIVILEGES;
If your stack ships MySQL v5.7.x, use the following content instead of that shown above:
UPDATE mysql.user SET authentication_string=PASSWORD('NEW_PASSWORD') WHERE User='root'; FLUSH PRIVILEGES;
TIP: Check the MySQL version with the command /opt/bitnami/mysql/bin/mysqladmin --version or /opt/bitnami/mysql/bin/mysqld --version.
Stop the MySQL server:
$ sudo /opt/bitnami/ctlscript.sh stop mysql
Start MySQL with the following command:
$ sudo /opt/bitnami/mysql/bin/mysqld_safe --pid-file=/opt/bitnami/mysql/data/mysqld.pid --datadir=/opt/bitnami/mysql/data --init-file=/home/bitnami/mysql-init 2> /dev/null &
Restart the MySQL server:
$ sudo /opt/bitnami/ctlscript.sh restart mysql
Remove the script:
$ rm /home/bitnami/mysql-init
How to access phpMyAdmin?
For security reasons, phpMyAdmin is accessible only when using 127.0.0.1 as the hostname. To access it from a remote system, you must create an SSH tunnel that routes requests to the Web server from 127.0.0.1. This implies that you must be able to connect to your server over SSH in order to access these applications remotely.
|IMPORTANT: Before following the steps below, ensure that your Web and database servers are running.
|NOTE: The steps below suggest using port 8888 for the SSH tunnel. If this port is already in use by another application on your local machine, replace it with any other port number greater than 1024 and modify the steps below accordingly. Similarly, if you have enabled Varnish, your stack's Web server might be running on port 81. In this case, modify the steps below to use port 81 instead of port 80 for the tunnel endpoint.
Accessing phpMyAdmin on Windows
Watch the following video to access phpMyAdmin on Windows through an SSH tunnel using a private key:
|TIP: Refer to these instructions to learn how to obtain your private key.
In order to access phpMyAdmin via SSH tunnel you need an SSH client. In the instructions below we have selected PuTTY, a free SSH client for Windows and UNIX platforms. The first step is having PuTTY configured. Please, check how to configure it in the section how to connect to the server through SSH using an SSH client on Windows.
Once you have your SSH client correctly configured and you tested that you can successfully access to your instance via SSH, you need to create an SSH tunnel in order to access phpMyAdmin. For doing so, follow these steps:
In the "Connection -> SSH -> Tunnels" section, add a new forwarded port by introducing the following values:
- Source port: 8888
- Destination: localhost:80
This will create a secure tunnel by forwarding a port (the "destination port") on the remote server to a port (the "source port") on the local host (127.0.0.1 or localhost).
Click the "Add" button to add the secure tunnel configuration to the session. (You'll see the added port in the list of "Forwarded ports").
- In the "Session" section, save your changes by clicking the "Save" button.
- Click the "Open" button to open an SSH session to the server. The SSH session will now include a secure SSH tunnel between the two specified ports.
- Access the phpMyAdmin console through the secure SSH tunnel you created, by browsing to http://127.0.0.1:8888/phpmyadmin.
Log in to phpMyAdmin by using the following credentials:
- Username: root
- Password: application password. (Refer to our FAQ to learn how to find your application credentials).
Here is an example of what you should see:
If you are unable to access phpMyAdmin, verify that the SSH tunnel was created by checking the PuTTY event log (accessible via the "Event Log" menu):
Accessing phpMyAdmin on Linux and Mac OS X
To access the application using your Web browser, create an SSH tunnel, as described below.
- Open a new terminal window on your local system (for example, using "Finder -> Applications -> Utilities -> Terminal" in Mac OS X or the Dash in Ubuntu).
You have two options to configure the SSH tunnel: connect to the server using a private key (recommended) or connect to the server using a SSH password. Follow the instructions below per each option:
Option 1: Connect to the server using a private key
- Make sure that you have your SSH credentials (.pem key file) in hand.
Run the following command to configure the SSH tunnel. Remember to replace KEYFILE with the path to your private key and SERVER-IP with the public IP address or hostname of your server:
$ ssh -N -L 8888:127.0.0.1:80 -i KEYFILE bitnami@SERVER-IP
Option 2: Connect to the server using a SSH password
Run the following command, remembering to replace SERVER-IP with the public IP address or hostname of your server. Enter your SSH password when prompted.
$ ssh -N -L 8888:127.0.0.1:80 bitnami@SERVER-IP
|NOTE: If successful, the above commands will create an SSH tunnel but will not display any output on the server console.
- Access the phpMyAdmin console through the secure SSH tunnel you created, by browsing to http://127.0.0.1:8888/phpmyadmin.
Log in to phpMyAdmin by using the following credentials:
- Username: root
- Password: application password. (Refer to our FAQ to learn how to find your application credentials).
Here is an example of what you should see:
How to modify PHP settings for Apache?
The PHP configuration file allows you to configure the modules enabled, the email settings or the size of the upload files. It is located at /opt/bitnami/php/etc/php.ini.
For example, to modify the default upload limit for PHP, update the PHP configuration file following these instructions.
After modifying the PHP configuration file, restart both Apache and PHP-FPM for the changes to take effect:
$ sudo /opt/bitnami/ctlscript.sh restart apache
$ sudo /opt/bitnami/ctlscript.sh restart php-fpm
How to modify the allowed limit for uploaded files in Apache?
Modify the following options in the /opt/bitnami/php/etc/php.ini file to increase the allowed size for uploads:
; Maximum size of POST data that PHP will accept.
post_max_size = 16M
; Maximum allowed size for uploaded files.
upload_max_filesize = 16M
Restart PHP-FPM and Apache for the changes to take effect.
$ sudo /opt/bitnami/ctlscript.sh restart apache
$ sudo /opt/bitnami/ctlscript.sh restart php-fpm
How to upload files to the server with SFTP?
Although you can use any SFTP/SCP client to transfer files to your server, the link below explains how to configure FileZilla (Windows, Linux and Mac OS X), WinSCP (Windows) and Cyberduck (Mac OS X). It is required to use your server's private SSH key to configure the SFTP client properly. Choose your preferred application and follow the steps in the link below to connect to the server through SFTP.
How to upload files to the server
How to configure fail2ban to work with Redmine?
If you want to limit the number of login attempts (and avoid brute-force attacks), install fail2ban and configure it to work with the Bitnami Redmine Stack.
Install fail2ban:
$ sudo apt-get update $ sudo apt-get install fail2ban
$ sudo yum install epel-release $ sudo yum install fail2ban $ sudo systemctl enable fail2ban $ sudo systemctl start fail2ban
Modify the /opt/bitnami/apps/redmine/htdocs/config/environment.rb file to allow the Redmine logger to add timestamps to the production.log file. To do this, add the following lines:
class Logger def format_message(severity, timestamp, progname, msg) "#{timestamp} (#{$$}) #{msg}\n" end end
Restart the Apache server.
$ sudo /opt/bitnami/ctlscript.sh restart apache
Next, configure fail2ban following the steps below:
Create the /etc/fail2ban/filter.d/redmine.conf file with the following code:
[Definition] failregex = Failed [-/\w]+ for .* from <HOST> ignoreregex =
Create the /etc/fail2ban/jail.local file and add the code below:
[redmine] enabled = true filter = redmine port = http,https logpath = /opt/bitnami/apps/redmine/htdocs/log/production.log maxretry = 5 findtime = 600 bantime = 600
This fail2ban configuration will ban the IP of any user that tried to access five (maxretry) different times in 10 minutes (findtime) without success. Note that the ban only will affect the ports 80 and 443, and the user with the banned IP will not be able to contact the web server for 10 minutes (bantime).
Before applying the configuration,test if the regex configuration is correct. To test this, browse to your Bitnami Redmine login page and use a non-existent user/password to get a login error. Then, run this command:
$ fail2ban-regex /opt/bitnami/apps/redmine/htdocs/log/production.log /etc/fail2ban/filter.d/redmine.conf
If the last two lines of the output show you at least "1 matched", the regex is properly configured:
Lines: 412 lines, 0 ignored, 1 matched, 397 missed Missed line(s):: too many to print. Use --print-all-missed to print all 397 lines
Apply the configuration with this command
$ sudo /etc/init.d/fail2ban restart
$ sudo systemctl restart fail2ban
To check if all is working, try logging in five different times with bad credentials. On the fifth unsuccessful attempt, you will be banned for 10 minutes.
How to convert incoming email to issues in Redmine?
Redmine can be configured to automatically process incoming email messages and convert them to issues. To do this, it is necessary to configure Redmine to connect to an IMAP or POP3 account periodically, check incoming messages and convert those containing Redmine keywords into issues.
To do this, create a scheduled task and use the following command in the crontab file for a POP3 account, remembering to replace HOST, PORT, USERNAME and PASSWORD with the correct information for your mail provider:
*/30 * * * * sudo bundle exec rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority
Use the following command in the crontab file for an IMAP account, remembering to replace HOST, PORT, USERNAME and PASSWORD with the correct informaton for your mail provider:
*/30 * * * * sudo bundle exec rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile redmine:email:receive_imap RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority
|NOTE: Remove the ssl option from the previous commands if your mail provider does not support SSL.
The above commands will process incoming email every 30 minutes.
To allow users not registered in Redmine to create issues via email, update the command above to add the unknown_user and no_permission_check options. For example:
*/30 * * * * sudo bundle exec rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD allow_override=project,tracker,priority unknown_user=accept no_permission_check=1
To automatically have new issues registered with a specific project and priority, remove the allow_override option and instead specify project and priority options. For example:
*/30 * * * * sudo bundle exec rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile redmine:email:receive_pop3 RAILS_ENV="production" host=HOST port=PORT ssl=1 username=USERNAME password=PASSWORD project=myproject priority=immediate
For more information on available options, refer to the Redmine documentation.
How to configure scheduled tasks in Redmine?
To automatically perform certain tasks in Redmine, it is necessary to set up a scheduled task / cron job.
Follow these steps:
Run the following command to edit the crontab file:
$ sudo crontab -e
Add the following line to the file. This will configure a job to be executed daily at 00:30. You can modify the timing if you wish, and you must replace the COMMAND placeholder with the command to be executed.
Save the file.
How to configure Redmine to send reminder emails?
To have Redmine automatically send reminder emails, create a scheduled task as described in the previous section. Use the following command in the crontab file:
0 30 * * * sudo /opt/bitnami/ruby/bin/rake -f /opt/bitnami/apps/redmine/htdocs/Rakefile redmine:send_reminders days=7 RAILS_ENV="production"
How to change the Redmine timezone?
Check all the available timezones by executing these commands:
$ cd /opt/bitnami/apps/redmine/htdocs/ $ bundle exec rake time:zones:all
Once you decide on the correct one, edit the file /opt/bitnami/apps/redmine/htdocs/config/application.rb and substitute the line
config.active_record.default_timezone = :local
config.active_record.default_timezone = 'your_timezone'
Note that the single quotes around the timezone value are necessary.
Restart services.
$ sudo /opt/bitnami/ctlscript.sh restart apache
How to modify the maximum attachment size?
- To change maximum attachment size and allowed file extensions navigate to the "Administration -> Settings -> Files" menu option:
How to see a Git repository from the Redmine application or from a Web browser directly?
Redmine lets users check repository changes and link to cases. Follow the steps below:
Clone the remote Git repository, or initialize a new one. Replace the REPO_URL placeholder with the correct repository URL and the REPO placeholder with the correct directory name for the cloned repository.
$ cd $HOME $ mkdir repos $ cd repos $ sudo git clone REPO_URL --bare
|NOTE: Include the --bare option regardless of whether you're cloning an existing repository or initializing a new one.
Create a new Redmine project.
From the project dashboard, select the "Settings -> Repositories" tab and add a new repository using the settings below. Replace the ID placeholder with a short identifier for the repository, the USER placeholder with the username, and the REPO placeholder with the correct directory name for the cloned repository.
SCM: Git Identifier: ID Path to repository: /home/USER/repos/REPO
How to configure Redmine for advanced integration with Git?
This Redmine configuration makes it possible for users created in the Redmine application to also use the Git repository. For example, new users in the Redmine application will also be able to "push" changes to the Git project repository. This guide is based on the Felix Schafer guide posted on the Redmine Wiki.
|NOTE: Before starting this guide, take into account that these steps are not necessary if all you wish to do is track the repository changes in the Redmine application. If you only wish to track repository changes and link to issues, you only need to configure the project to point to your repository, as described in the section on using Git with Redmine.
Create a Git repository. This guide will create a repository named test under the projects/ directory in the user's home directory. Note the name of the repository as you will need to use the same name as the identifier for your Redmine project in a later step.
$ cd $HOME $ mkdir projects $ mkdir projects/test $ cd projects/test $ sudo git init --bare
Download the Grack project from GitHub:
$ cd /opt/bitnami/apache2/htdocs/ $ git clone http://github.com/schacon/grack.git $ sudo chown bitnami:daemon grack
Edit the grack/config.ru file to specify your Git project location. Replace the USERNAME placeholder with the correct username.
$LOAD_PATH.unshift File.expand_path(File.dirname(__FILE__) + '/lib') use Rack::ShowExceptions require 'git_http' config = { :project_root => "/home/USERNAME/projects/", :adapter => Grack::GitAdapter, :git_path => '/opt/bitnami/git/bin/git', :upload_pack => true, :receive_pack => true, } run GitHttp::App.new(config)
Test the basic behaviour: start the Grack server and try to clone the repository and push the changes from a different machine.
$ cd /opt/bitnami/apache2/htdocs/grack $ rackup --host 0.0.0.0 -p 8080 config.ru &
If all goes well, you should see a message that the Thin web server is running and listening for connections, as below:
>> Thin web server (v1.5.1 codename Straight Razor) >> Maximum connections set to 1024 >> Listening on 0.0.0.0:8080, CTRL+C to stop
|IMPORTANT: Also ensure that port 8080 is open in the firewall as otherwise, the next step will fail.
Next, clone the repository, add your name and email address, and push changes from a different machine. Remember to replace the SERVER-IP placeholder below with the actual IP address of your Redmine server, and the EMAIL_ADDRESS and NAME placeholders with your email address and real name.
$ cd /tmp/ $ git clone http://SERVER-IP:8080/test $ cd test $ git config user.email "EMAIL_ADDRESS" $ git config user.name "NAME" $ echo "test" > test_file $ git add test_file $ git commit -m "test" test_file $ git push origin master
If all goes well, you will see something like this:
Counting objects: 3, done.
Writing objects: 100% (3/3), 200 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://SERVER-IP:8080/test
* [new branch] master -> master
Stop the Grack server and configure Apache to use Passenger. First, create two directories in the grack/ folder and install necessary dependencies:
$ mkdir /opt/bitnami/apache2/htdocs/grack/public $ mkdir /opt/bitnami/apache2/htdocs/grack/tmp $ cd /opt/bitnami/apache2/htdocs/grack/ $ bundle install
Edit the /opt/bitnami/apache2/conf/bitnami/bitnami.conf file and add the code to the end of the file, replacing YOUR_DOMAIN_NAME with your own domain name or the domain name of your server:
<VirtualHost *:80> ServerName git.YOUR_DOMAIN_NAME PassengerEnabled on PassengerAppRoot "/opt/bitnami/apache2/htdocs/grack/" DocumentRoot "/opt/bitnami/apache2/htdocs/grack/public" <Directory "/opt/bitnami/apache2/htdocs/grack/public"> Options None AllowOverride None <IfVersion < 2.3 > Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.3> Require all granted </IfVersion> </Directory> </VirtualHost>
Restart the Apache server as below:
$ sudo /opt/bitnami/ctlscript.sh restart apache
Next, clone the repository again, add your name and email address, and push changes from a different machine. Remember to replace the YOUR_DOMAIN_NAME placeholder below with your own domain name or the domain name of your server, and the EMAIL_ADDRESS and NAME placeholders with your email address and real name.
$ cd /tmp/ $ rm -rf test/ $ git clone http://git.YOUR_DOMAIN_NAME/test $ cd test $ git config user.email "EMAIL_ADDRESS" $ git config user.name "NAME" $ echo "test 2" > test_file_2 $ git add test_file_2 $ git commit -m "test 2" test_file_2 $ git push origin master
If all goes well, you will see something like this:
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 234 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To http://git.YOUR_DOMAIN_NAME/test
328f124..68d1bb4 master -> master
The next step is to configure Git access control using the Redmine.pm module. Begin by copying the Redmine.pm file to the appropriate Perl folder:
$ sudo cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache/ $ sudo cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.16.3/x86_64-linux-thread-multi/Apache2/
Enable the module in the /opt/bitnami/apache2/conf/httpd.conf by adding the following line:
LoadModule perl_module modules/mod_perl.so
You will also need to add the following lines to the /opt/bitnami/apache2/bin/envvars file. Note that the library path shown below (/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/) varies depending on the platform, so it's a good idea to verify that it exists or modify it as needed.
export LD_LIBRARY_PATH
Finally, update the previously-created VirtualHost in the /opt/bitnami/apache2/conf/bitnami/bitnami.conf file as shown below. The REDMINE_DB_USERNAME and REDMINE_DB_PASSWORD credentials can be obtained from the /opt/bitnami/apps/redmine/htdocs/config/database.yml file, from the username and password fields for the production database:
<VirtualHost *:80> ServerName git.YOUR_DOMAIN_NAME PassengerEnabled on PassengerAppRoot "/opt/bitnami/apache2/htdocs/grack/" DocumentRoot "/opt/bitnami/apache2/htdocs/grack/public" <Directory "/opt/bitnami/apache2/htdocs/grack/public"> Options None AllowOverride None <IfVersion < 2.3 > Order allow,deny Allow from all </IfVersion> <IfVersion >= 2.3> Require all granted </IfVersion> </Directory> PerlLoadModule Apache::Redmine <Location "/"> AuthType Basic AuthName "Redmine git repositories" Require valid-user PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAuthenHandler Apache::Authn::Redmine::authen_handler RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/opt/bitnami/mysql/tmp/mysql.sock" RedmineDbUser "REDMINE_DB_USERNAME" RedmineDbPass "REDMINE_DB_PASSWORD" RedmineGitSmartHttp yes </Location> </VirtualHost>
After making this change, restart the Apache server as below:
$ sudo /opt/bitnami/ctlscript.sh restart apache
Log in to Redmine and create a new project. It is important to note that the project identifier configured at this stage must match the repository name created earlier. In this example, the project identifier is test. Also ensure that the project is configured as private.
Note that the project must be configured to work as private for this configuration to work due to a Redmine bug. Click "Create" to save your changes and create the project.
- From the project dashboard in Redmine, click the "Settings -> Repositories" tab and then click the "New repository" link. Select the "SCM" as "Git" and specify the path to the repository. In this example, the path will be /opt/bitnami/projects/test. Click "Create" to save your changes.
- From the project dashboard in Redmine, click the "Settings -> Members" tab and add one or more users to the project with role "Developer". Save your changes.
The users added to the repository should now be able to develop in the test repository using their Redmine application passwords. To test this, try cloning and pushing a change to the repository as one of the specified users. If you are successful, you will also be able to see the changes in the Redmine project's repository view, as shown below:
How to use Mercurial with Redmine?
Redmine only works with Mercurial repositories cloned in your local machine, as explained in the official guide.
Install the Mercurial package:
$ sudo apt-get install mercurial
$ sudo yum install mercurial
Restart services:
$ sudo /opt/bitnami/ctlscript.sh restart
Create the repository directory, clone it and give it the proper permissions:
$ cd $HOME $ mkdir mercurialRepo $ cd mercurialRepo $ sudo hg clone REPO_URL
Add your repository to Redmine by navigating in your project to the "Settings -> Repositories -> New repository" menu. Replace the ID placeholder with a short identifier for the repository, the USER placeholder with the username, and the REPO placeholder with the correct directory name for the cloned repository.
SCM: Mercurial Identifier: ID Path to repository: /home/USER/mercurialRepo/REPO
Check the repository and confirm that you can view the files, commits, comments and so on.


text:
Ernest William Brown
|Ernest William Brown
Ernest William Brown
29 November 1866
Hull, England
|22 July 1938
(aged 71)
New Haven, Connecticut
|Alma mater
|Christ's College
|Doctoral advisor
|George Howard Darwin
|Known for
|Wallace John Eckert
|Notable awards
|Royal Medal (1914)
James Craig Watson Medal (1936)
Fellow of the Royal Society
Ernest William Brown FRS[1] (29 November 1866 – 22 July 1938) was a British mathematician and astronomer, who spent the majority of his career working in the United States.
His life's work was the study of the Moon's motion (lunar theory) and the compilation of extremely accurate lunar tables. He also studied the motion of the planets and calculated the orbits of Trojan asteroids.
Brown was born in Hull, England, the only son of William and Emma (Martin) Brown. He was educated at Hull and East Riding College. After leaving school, he entered Christ's College, Cambridge, where he graduated with first-class honours in mathematics in 1887.[2] He continued with post-graduate studies at Cambridge and worked under the direction of George Howard Darwin. In the summer of 1888, Darwin suggested that Brown study the papers of George William Hill on the lunar theory. As it turned out, this idea for a line of research was to have a major impact on the remainder of Brown's life.
Brown was made a fellow of Christ's College in 1889, and received his master's degree in 1891. He then left England to take up a place as a mathematics instructor at Haverford College, Pennsylvania. There, he rose rapidly to the position of Professor of Mathematics in 1893.
Work on the motion of the Moon
At Haverford, Brown continued with his studies of the lunar theory, and made a thorough review of the work of earlier researchers, such as Hill, Delaunay and Hansen. His mastery of the field was shown by the publication of his first great work, An Introductory Treatise on the Lunar Theory, in 1896, when Brown was still less than 30 years of age. As Brown's work progressed, he gradually evolved a plan to create a completely new lunar theory. This was eventually published as a series of papers in the Memoirs of the Royal Astronomical Society between 1897 and 1908.
In 1907, Brown was appointed Professor of Mathematics at Yale University. He secured an agreement with Yale for funding the massive task of calculating detailed tables of the Moon's motion, based on his lunar theory. After a period of 12 years and a cost of over $34,000, Brown's magnum opus, Tables of the Motion of the Moon, was published in 1919.
Discrepancies between theory and observation
Brown's objective had been to produce an accurate ephemeris of the Moon, based purely on gravitational theory. For the 'main problem' of the Earth-Moon-Sun system, he calculated terms in longitude and latitude down to an uncertainty of 0.001 arcseconds. He also included perturbations due to the other planets (principally Jupiter and Venus) and also accounted for the more difficult problem of the non-spherical nature of the Earth and Moon.
Observations showed that Brown's tables were indeed superior to those of Hansen, which had been in use since 1857, but there was still a large unexplained fluctuation in the Moon's mean longitude of the order of 10 arcseconds. A 'great empirical term', of magnitude 10.71 arcseconds and period 257 years, was introduced to eliminate this as far as possible. Given the precision of Brown's calculations, it must have come as a great disappointment to have to introduce this arbitrary adjustment.
It had been discovered by Edmond Halley over two centuries previously that the Moon's motion appeared to be gradually speeding up. This 'secular acceleration' could not be explained by gravitational theory alone, and it had been suggested by Simon Newcomb that it was in fact due to a gradual deceleration of the Earth's rate of rotation, due to friction generated by the tides. In other words, the Moon was not speeding up – it was time (as measured in terms of Earth's increasingly long day) that appeared to be slowing down. Brown devoted much study to this problem and eventually concluded that, not only was the Earth's rate of rotation slowing, but there were also random, unpredictable fluctuations. Later work has shown this to be true, and astronomers now make a distinction between Universal Time, which is based on the Earth's rotation, and Terrestrial Time (formerly Ephemeris time), which is a uniform measure of the passage of time (see also ΔT).
Later work
Wallace John Eckert already became an instructor at Columbia University while finishing his PhD under Brown. Eckert would improve the pace of astronomical calculation by automating them with digital computers.[3] Brown retained his professorship at Yale until he retired in 1932. As well as continuing his work on the Moon, he also worked on the motion of the planets around the Sun. He co-wrote the book, Planetary Theory, with Clarence Shook, which contained a detailed exposition of resonance in planetary orbits and examined the special case of the Trojan asteroids.
Private life
Brown never married, and for most of his adult life lived with his younger unmarried sister, Mildred, who kept house for him. A capable pianist fond of music, Brown also played chess to a high standard. He loved travelling, hill walking, and detective stories.
A heavy smoker, Brown suffered from bronchial trouble for much of his life. He was afflicted by ill-health during most of the six years of his retirement, and died in New Haven, Connecticut in 1938.
Brown's Tables were adopted by nearly all of the national ephemerides in 1923 for their calculations of the Moon's position, and continued to be used, eventually with some modification, until 1983. With the advent of digital computers, Brown's original trigonometrical expressions, given in the introduction to his 1919 tables (and from which the tables had been compiled), began to be used for direct computation instead of the tables themselves. This also gained some improvement in precision, since the tables themselves had embodied some minor approximations, in a trade-off between accuracy and the amount of labor need for computations using the tables in those days of manual calculation.[4] By mid-century, the difference between Universal and Ephemeris Time had been recognised and evaluated, and the troublesome empirical terms were also removed.[4] Further adjustments to Brown's theory were then also made in a later stage, arising from improved observational values of the fundamental astronomical constants used in the theory, and from re-working Brown's original analytical expansions to gain more precise versions of the coefficients used in the theory.[5]
It was only as recently as in the ephemerides for 1984 that Brown's work was superseded: it was replaced by results gained from more modern observational data (including data from lunar laser ranging) and by altogether new computational methods for calculating the Moon's ephemeris.[6]
- Adams Prize (1907)
- Gold Medal of the Royal Astronomical Society (1907)
- Bruce Medal (1920)
- James Craig Watson Medal (1936)
Named after him
- The crater Brown on the Moon
- Asteroid 1643 Brown
- Brown lunation number
- ↑ Darwin, C. G. (1940). "Ernest William Brown. 1866-1938". Obituary Notices of Fellows of the Royal Society. 3 (8): 18–66. doi:10.1098/rsbm.1940.0003.
- ↑ "Brown, Ernest William (BRWN875EW)". A Cambridge Alumni Database. University of Cambridge.
- ↑ Frank da Cruz. "Professor Wallace J. Eckert". A Chronology of Computing at Columbia University web site. Columbia University. Retrieved 4 June 2010.
- ↑ 4.0 4.1 United States Naval Observatory (1954). Wallace J. Eckert, ed. Improved Lunar Ephemeris: 1952 - 1959. US Government Printing Office.
- ↑ W. J. Eckert; M. J. Walker; D. Eckert (June 1966). "Transformations of the Lunar Coordinates and Orbital Parameters". The Astronomical Journal. 71 (5): 314–332. Bibcode:1966AJ.....71..314E. doi:10.1086/109923.
- ↑ P. Kenneth Seidelmann (1992). Explanatory Supplement to the Astronomical Almanac. Mill Valley, California: University Science Books. p. 317. ISBN 0-935702-68-7.
- Brown, E.W. An Introductory Treatise on the Lunar Theory Cambridge University Press, 1896 (republished by Dover, 1960).
- Brown, E.W. Tables of the Motion of the Moon Yale University Press, New Haven CT, 1919.
- Brown, E.W. and Shook, C.A. Planetary Theory. Cambridge University Press, 1933 (republished by Dover, 1964).
External links
- O'Connor, John J.; Robertson, Edmund F., "Ernest William Brown", MacTutor History of Mathematics archive, University of St Andrews.
- Ernest William Brown at the Mathematics Genealogy Project
- Bruce Medal page
- Awarding of Bruce Medal: PASP 32 (1920) 85
- Awarding of RAS gold medal: MNRAS 67 (1907) 300
- "Brown, Ernest William". Encyclopedia Americana. 1920.
- National Academy of Sciences Biographical Memoir
- Use dmy dates from May 2012
- Use British English from May 2012
- Pages with broken file links
- Wikipedia articles incorporating a citation from the Encyclopedia Americana with a Wikisource reference
- 1866 births
- 1938 deaths
- 19th-century American mathematicians
- 20th-century American mathematicians
- Alumni of Christ's College, Cambridge
- American astronomers
- English astronomers
- English emigrants to the United States
- English mathematicians
- Fellows of the Royal Society
- Haverford College faculty
- Mathematicians from Kingston upon Hull
- Presidents of the American Mathematical Society
- Recipients of the Bruce Medal
- Recipients of the Gold Medal of the Royal Astronomical Society
- Royal Medal winners
- Scientists from Kingston upon Hull
- Yale University faculty


text:
Discuss "Bitter Sweets" in Our Pushing Daisies Forum!Matt Richenthal at . Comments
Two important notes about tonight's Pushing Daisies episode:
- Molly Shannon guest stars.
- The episode begins at 9 p.m.
We'll post a full recap following the show, but you can talk about it now in our Pushing Daisies forum. Enjoy!
Matt Richenthal is the Editor in Chief of TV Fanatic. Follow him on Twitter and on Google+.


text:
Mon, 25 January 2010
Ain't It Cool News' Comics Editor, Ambush Bug (aka Mark L. Miller) joins the radio show to chat about his project out of Bluewater Productions, Vincent Price Presents... as well as his gig at AICN and his recent post about The Worst Comics of the Decade. Check us out for an hour of comic talk that's worth every penny!
Direct download: fbr537.mp3
Category:Creator Interviews -- posted at: 12:33pm CDT


text:
Watch Dakota Johnson Recite Shakespeare While Scrolling Through Pictures of Penn Badgley
It's from her new movie Cymbeline. Does the Fifty Shades of Grey star pull it off?
With the recent adaptation of Fifty Shades of Grey, Dakota Johnson managed the near-impossible: She took Anastasia Steele, the pilloried heroine of E L James's erotic novel, and managed to make her beguiling, human, and even funny. After elevating that purple prose, Johnson has segued to a production with dialogue that's even more challenging to deliver, though it's of a very different caliber: Her new film Cymbeline is adapted from the play by William Shakespeare.
A reunion of director Michael Almereyda and star Ethan Hawke, who previously teamed for a clever 2000 update of Hamlet, this modern Cymbeline casts Hawke as the devious Iachimo, who bets star-crossed skateboarder Posthumus (Penn Badgley) that he can seduce the latter's love, Imogen (played by Johnson). The setting is modern-day, as you'll see in this Vulture-exclusive clip — note, for example, the iPad that Iachimo proffers in his ruse to faithful Imogen — but the dialogue comes 100 percent from the Bard, even though his original text has been judiciously nipped and tucked by Almereyda. Watch how naturally Johnson tackles those tricky lines, and look for Cymbeline this Friday, March 13, when it opens in theaters and on-demand.


text:
COUNTRY LIFE in association with Boxwood Tours, Quality Garden Holidays
The Dordogne and Vézère rivers run through the southern and eastern region of Périgord in south western France. This area is exceptional for numerous prehistoric sites, range of produce, outstanding natural beauty, and for many contrasting high-calibre gardens. Most of the area is a limestone plateau with forests of oak and chestnut trees supporting a rich variety of local produce including the famous black Périgord truffles, duck, foie-gras, walnuts, chestnuts and strawberries. A high concentration of châteaux accounts for some exceptional formal gardens, including Losse, Hautefort and Eyrignac. In contrast, Sardy and Marqueyssac are very informal and romantic. We will be accommodated at Le Vieux Logis Hotel, a member of Relais & Châteaux, in the village of Trémolat in the lower Dordogne, a former manor house with ornamental gardens and a gastronomic restaurant that has received one Michelin star, as well as three Gault Millau "toques" ("Grande Table").
Read a Country Life article by writer & tour leader, Kirsty Fergusson: 'It's box but not as we know it...'
Day 1: Tuesday 19th September
Depart London Gatwick Airport at 06:40 on BA2786, arriving in Bordeaux Airport at 09:15. Please note, as the outbound flight is unavoidably very early, to ease your travel we are offering free accommodation on Monday 18th September at The Hilton Hotel, London Gatwick.We can also help with alternative travel, flight upgrades and accommodation in Bordeaux should you wish to extend your stay. From the airport, we journey to the Dordogne and a private château for a tour of an exuberant potager and a lovely lunch together. In the afternoon, we visit a private garden on a domestic scale but of exceptional merit surrounding a beautifully restored country residence. We then travel the short distance to Le Vieux Logis with time to settle before dining together in the Michelin starred restaurant.
Day 2: Wednesday 20th September
At the Château de Hautefort we are invited to view some of the interior as well as the immaculate formal gardens. Following lunch together we visit the medieval Château de Losse overlooking the river Vézère in the heart of the Vallee de l'Homme. Jaqueline van der Schueren and her late husband have beautifully restored and embellished the château and gardens with great sensitivity to the location: formal espaliers and hedging of hornbeam, yew and box direct your eye and feet, protecting & enclosing the castle; beds of lavender, rosemary and old roses perfume the air of the inner Courtyard. Return to the hotel to dine together.
Day 3: Thursday 21st September
Les Jardins du Manoir d'Eyrignac are considered one of France's very best formal topiary gardens. Laid out as Italianate gardens in the 18th century, they were transformed in the 19th century into informal English parkland, remaining as such until the mid-20th century when they were restored to the original Italianate design. Lunch follows at Le Petit Manoir a 15th century town house with smoky blue wooden shutters in the heart of the small town of Sarlat with time to walk around the town. We are then invited to view the gardens of Château Veyrignac with stunning views of the river Dordogne at its most beautiful.
Day 4: Friday 22nd September
In contrast to Eyrignac, known for its magnificent formal topiary, Les Jardins de Marqueyssac are considered one of France's very best informal topiary gardens: located high on a rocky spur above the river Dordogne with stunning views on three sides, informal terraces of billowing topiary float high in the clouds. Lunch is included in the beautiful village of La Roque-Gageac before we return to the hotel to rest and change. In the late afternoon, we venture to see a charming country garden. A Chartreuse is a traditional 17th or 18th century hunting lodge and country estate. The gardens of Chartreuse du Colombier include a walled garden, potager, baroque pavilion, avenues, and borders full of old roses and traditional flowers. Following the garden visit we are invited to dine with owner M. Bernard Hautefort in the Chartreuse.
Day 5: Saturday 23rd September
Another special invitation, this time by owner, M. Imbs to visit Sardy, a romantic garden of Florentine and English influences that steps down from the 18th century farm house to the water basin and lower gardens surrounded by its own vineyards. Lunch will be included before return to Bordeaux airport for flight BA2789. Check in at 18:45 for the 20:45 flight to London Gatwick arriving at 21:20.
How much & what's included:
The price per person: £3325. Single supplement: £300 (levied by the hotel).
The price includes: four nights' accommodation at Le Vieux Logis; three evening meals at Le Vieux Logis; one evening meal at a private garden; and five lunches, all with local wines; with return flights from London Gatwick. Those wishing to make their own flight arrangements should state this on the booking form and we will deduct £75 per person from the tour price. **Please note that, as the outbound flight is unavoidably very early, to ease your travel we are offering free accommodation on Monday 18th September at The Hilton Hotel, London Gatwick. We are also happy to help make alternative travel arrangements on request. One suggestion would be to travel from London City Airport at 11:15 on Monday 18th September and to then transfer to Le Vieux Logis, dependent on availability. Please do ring the Boxwood office on 01341 241717 if you wish to discuss these options.**
Note: Boxwood Tours is offering overnight accommodation at Gatwick airport to help travellers on this tour to make the unavoidably early check-in time for flights the following day; contact the Boxwood office for details.
This tour is financially protected by the ATOL scheme. When you pay you will be supplied with an ATOL Certificate. Please ask for it and check to ensure that everything you booked (flights, hotels and other services) is listed on it. Please see our booking conditions for further information or for more information about financial protection and the ATOL Certificate go to: www.atol.org.uk/ATOLCertificate


text:
How to make your first voice call
This site helps you to make your first voice call with our help. You can make voice calls with a lot of types of address books and with a lot of messages.
Get startedOzeki Bulk Messenger runs on Windows, Linux and Android Smart phones. To start using it, you need to download and install it. Installation is straightforward. The software can be downloaded by clicking on the following link:
Step 1 - Make an address book
On the main page you have to select 'Step 1 - Address books' (Figure 1).
Figure 1 - Select 'Step 1 - Address books'
After the new page have appeared, please select 'Create new address book' (Figure 2).
Figure 2 - Create new address book
In this case we have chosen the 'Standard' type addressbook. In the 'Identification' field you can provide a name for the created addressbook.
Figure 3 - Address book details
As we use a Standard addressbook we have to add the contacts to the addressbook manually. To do this, you have to click on the 'Contacts' button after the addressbook has appeared on the list.
Figure 4 - The actual address book list
If you select 'Create new contact' you will find the 'Contact details' window to the right. (Figure 5 and 6)
Figure 5 - Adding a new contact
This is where you can provide detailed information about the contact you wish to add to your addressbook. After clicking 'Ok' your contact is added to the contact list.
Figure 6 - Personal information about the contact
Step 2 - Compose your voice message
Select 'Step 2 - Messages' (Figure 7).
Figure 7 - Select 'Messages' on the Quick Start page
On the new page you have to select 'Create new content'. To create your first voice call click on 'Audio' message type (Figure 8).
Figure 8 - Create 'Audio' content
If you select 'Text to speech' option (Figure 8) you can easily send automated voice messages. Besides text to speech, you can record your own voice or upload an audio file.
Figure 9 - Types of audio files
If you have chosen text to speech, please type the message in the required area and then click on 'Convert text to speech' button (Figure 10).
Figure 10 - Creating a voicemessage by converting text to speech
Step 3 - Create connection
At this step you have to select 'Step 3 - Connections'. (Figure 11).
Figure 11 - Selecting 'Connections'
On the new page click on 'Create new connection' and after that select 'Telephone' connection for your voice call (Figure 12).
Figure 12 - Select 'Telephone' connection
There are three type of telephone connections:
Figure 13 - Types of telephone connections
Select one of them. There are step-by-step configuration tutorials:How to install different types of connections.
Step 4 - Send a message
This is a final section to make successful voice call with Ozeki Bulk Messenger.
Select 'Step 4 - Send' to deliver your message (Figure 14).
Figure 14 - Choose 'Send' from the home page
Click on the 'Create new message delivery job' button. At the right side you can select the suitable address book, message and connection for you (Figure 15).
Figure 15 - Creating a delivery job
After you created the job, it will appear on the list. If you want to start your delivery you have to hit the green 'Start' button (Figure 16).
Figure 16 - The list of jobs
After the delivery job is finished, you can see the result of the job: the rate of completed or failed calls (Figure 16).
Figure 17 - The rate of successful calls
Copyright © 2000- -
Ozeki Informatics Ltd. |
firstname.lastname@example.com |
Tel: +36 1 371 0150
Home > Products > Bulk Messenger > Quick Start > Automated voice calls