This is technically more than one question. I'll answer about rickets and osteoporosis.
Rickets is a medical condition that results in the softening and weakening of bones in children. The most common cause of rickets is extreme and prolonged vitamin D deficiencies. Vitamin D is the vitamin that helps the body absorb calcium and phosphorous from food sources. Without the vitamin D (or low vitamin D amounts), the body finds it difficult to maintain adequate levels of phosphorous and calcium in the bones. This results in rickets. The simplest cure for rickets is to add vitamin D and/or calcium into the diet. Spending time outdoors in the sunlight is also a treatment option because human skin produces vitamin D when it is exposed to sunlight.
Osteoporosis is another bone condition in which the bones become weak and brittle. They can become fragile enough that a simple fall can cause fracturing. Unlike rickets, osteoporosis does not have a single cause. There are contributing factors and lifestyle choices that can increase the risk of getting osteoporosis. Bones are constantly renewing themselves. Old bone is broken down and new bone is produced. As a person ages, the production of new bone slows down, and it can get to the point where bone is broken down faster than it is being produced. Age is an unavoidable risk factor for the condition. Sex is also a risk factor in that women are much more likely to develop osteoporosis. A controllable risk factor is calcium intake. Low intakes contribute to bone density loss. Sedentary lifestyles also increase the risk of developing the condition.